1 创建与合并分支
1-1我们创建dev分支,然后切换到dev分支
git checkout -b dev
创建分支
git branch dev
切换分支
git checkout dev
查看当前分支
git branch
把dev分支的工作成果合并到master分支上
git merge dev
删除dev分支
git branch -d dev
2 创建,切换分支最新的命令
创建并切换分支
git switch -c dev
创建分支dev
git branch dev
切换分支
git switch master
3 分支冲突
查看分支合并情况
git log --graph --pretty=oneline --abbrev-commit
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph命令可以看到分支合并图。
3-1 分支管理策略
仅用表示禁用Fast forward合并分支
git merge --no-ff -m "merge with no-ff" dev
3-2 分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
4 bug分支
可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash
查看分支之前工作区的存储
git stash list
4-1恢复
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
恢复指定的stash
git stash apply stash@{0}
复制一个提交到当前分支,后面是提交id
git cherry-pick 4c805e2
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;
在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick
5 Feature分支
添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。