分支:便于协同开发、方便测试
A successful Git branching model » nvie.com
创建dev
分支,然后切换到dev
分支:
$ git branch dev
$ git checkout dev
用 git branch 命令查看当前分支:git branch 命令会列出所有分支,当前分支前面会标一个*号。
$ git checkout -b dev
现在,dev
分支的工作完成,我们就可以切换回master
分支:
$ git checkout master
把dev
分支的工作成果合并到master
分支上:git merge
命令用于合并指定分支到当前分支。
$ git merge dev
合并完成后,就可以放心地删除dev
分支了:
$ git branch -d dev
Git 分支指令:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
或者git switch <name>
创建+切换分支:git checkout -b <name>
或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
当Git 无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把 Git 合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph
命令可以看到分支合并图。
修复 bug 时,我们会通过创建新的 bug 分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复 bug ,修复后,再git stash pop
,回到工作现场;
在 master 分支上修复的 bug,想要合并到当前 dev 分支,可以用git cherry-pick <commit>
命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
开发一个新 feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
要查看远程库的信息,用git remote
或者,用git remote -v
显示更详细的信息