本文总结一些可能误解或者需要注意的指令用法
- 值得参考的博客:https://segmentfault.com/a/1190000008617626
- 更详细解释一般直接查看
git (command) -h
即可
总体概况总结
分支管理
查看本地分支
1
git branch
查看所有分支(包括远程)
1
git branch -a
删除本地分支
1
git branch -d branch_name
删除远程分支
1
git push origin :branch_name
- 将空的东西推送到远程的branch_name分支,也就是删除远程分支
新建本地分支
1
git fetch origin master:branch_name
fetch将远程分支拉取到本地的Repository中,但不修改本地工作目录,如果本地分支不存在,则新建分支
1
git pull origin master:branch_name
fetch将远程分支拉取到本地的Repository中,同时修改本地工作目录,如果本地分支不存在,则新建分支
新建远程分支
1
git push origin master:branch_name
- 将本地分支推送到远程,如果branch_name不存在,则新建分支
冲突管理
远程分支和本地分支有不同的commit
git pull
和git push
均产生reject
异常使用下面语句拉取远程分支到本地old分支并合并
1
2git fetch origin master:old
git merge old- 上面两句等价于
1
git pull origin master:old
- 上面两句等价于
如果能够快速合并,也就是相同文件没有同时被不同提交修改:
- 上面的语句将弹出一个合并窗口提示输入合并这个操作(提交)的Comment,按照提示提交保存即可
- 保存后自动生成一个以刚才的Comment命名的提交
不能快速合并时
- 上面的语句会提示我们哪些文件有合并冲突需要解决的
- 我们需要根据提示找到并修改文件中冲突
- 然后重新提交(像正常提交代码一样即可)
1
2git add .
git commit -m " "
合并完成后删除多余分支
1
git branch -d old
fetch和pull
1 | git pull == git fetch + git merge |