赞
踩
创建一个文件
git add (工作区 -》 暂存区)
git commit (暂存区 -》 本地仓库)
查看日志: git log
版本回退
命令:git reset --hard commitID
想回退到哪个版本就输入commitID,可以使用git-log 或者 git log 命令查看
复制粘贴小技巧,左键上色复制,中间粘贴
如何查看已经删除的记录
命令:git reflog
查看分支命令:git branch
创建分支命令:git branch + 分支名
HEAD是什么意思呢:假设我本地有多个分支,我想修改一个文件,不可能又修改a分支又修改b分支这就乱套了,所以有个规定就是我们的工作区只能为一个分支服务,也就是我当前处于哪个分支上。有多个分支之后我们只能对一个分支进行修改,这个分支我们称为当前分支
如何切换?
git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换)
命令:git chechout -b 分支名
不同分支文件也不一样,怎么合并呢?
一般都是把其他分支合并到master ,记得先把分支切换到master
命令:git merge + 分支名
删除分支
不能删除当前分支,只能删除其他分支
命令形式
git branch -d b1 删除分支时,需要做各种检查
git branch -D b1 不做任何检查,强制删除
分支流程图
ssh -T git@codeup.aliyun.com --- 不同的托管平台地址也不一样
点击yes
命令形式:git push [-f] [--set-upstream][远端名称[本地分支名][:远端分支名]]
远端名字:origin(我们之前取的)
本地分支名和远端分支名是一样的
如果远程分之合本地分支名称相同,则可以只写本地分支
命令:git push origin master
[-f]是强制覆盖:本地的代码和远端的代码修改的是同一个东西,会有冲突不给你退,-f的意思是就以我这个为准强制覆盖
--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。 -- 第一次要加上
命令:git push --set-upstream origin master
git branch -vv : 专门看本地分支和远程分支的对应关系的
之前的
关联之后的
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
命令: git push 将master分支推送到已关联的远端分支。
本地分支与远程分支的关联关系
查看关联关系我们可以使用命令:git branch -vv
————————————————————分割线————————————————————
如果不指定远端名称和分支名,则抓取所有并更新当前分支
解决合并冲突
远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同
解决方式:
看提示找到冲突文件进行修改,然后再push
模拟冲突场景
假设在本地仓库创建了test4.txt文件,已经上传到本远程仓库了vim test4.txt中写上了int i = 10;
此时我在克隆远端仓库中也改test4.txt文件vim test4.txt 中修改了 int i = 20;
我们发现在克隆远端的仓库中pull的时候会报错此时查看test4.txt发现有两个,正好是我们修改同一行的代码,解决方法就是留一个数据就行了然后再add commit push,因为远端有变化所以要在本地仓库也要pull此时远端仓库和本地仓库数据一样
总结一句话就是:先在本地git pull 把冲突给解决掉才能进行push。
git功能丰富,有兴趣一定要去学习学习了解了解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。