Git——使用总结

本文总结一些可能误解或者需要注意的指令用法


总体概况总结


分支管理

  • 查看本地分支

    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 pullgit push均产生reject异常

  • 使用下面语句拉取远程分支到本地old分支并合并

    1
    2
    git fetch origin master:old
    git merge old
    • 上面两句等价于
      1
      git pull origin master:old
  • 如果能够快速合并,也就是相同文件没有同时被不同提交修改:

    • 上面的语句将弹出一个合并窗口提示输入合并这个操作(提交)的Comment,按照提示提交保存即可
    • 保存后自动生成一个以刚才的Comment命名的提交
  • 不能快速合并时

    • 上面的语句会提示我们哪些文件有合并冲突需要解决的
    • 我们需要根据提示找到并修改文件中冲突
    • 然后重新提交(像正常提交代码一样即可)
      1
      2
      git add .
      git commit -m " "
  • 合并完成后删除多余分支

    1
    git branch -d old

fetch和pull

1
2
git pull == git fetch + git merge
git pull origin master:old == git fetch origin master:old + git merge old