Git的使用------分支管理
具体见原文:分支管理–廖雪峰
一、创建与合并分支
①查看分支:git branch
,该命令会列出所有分支,当前分支前面会标一个*
号。
②创建分支:git branch<name>
③切换分支:git cheakout<name>
④创建+切换分支:git cheakout -b <name>
⑤合并某分支到当前分支:git merge<name>
⑥删除分支:git branch - d <name>
二、解决冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph
命令可以看到分支合并图。
三、分支管理策略
合并分支时,加上--no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并就看不出来曾经做过合并。
四、bug分支
1.修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
2.当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场;
3.在master
分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>
命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
五、Feature分支
1.开发一个新feature,最好新建一个分支;
2.如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。
六、多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master
分支和远程的master
分支对应起来了,并且,远程仓库的默认名称是origin
。
①git remote -v
:查看远程库信息
②git push origin branch-name
:从本地推送分支
③git pull
:推送失败时,抓取远程的新提交
④git checkout -b branch-name origin/branch-name
:在本地创建和远程分支对应的分支(本地和远程分支的名称最好一致)
⑤git branch --set-upstream branch-name origin/branch-name
:建立本地分支和远程分支的关联