git 分支管理
分支在实际中有什么用呢?假设你准备开发一个新功能,时间需要两周才能开发完成,如果等开发完成之后再提交,这期间可能会出现文件丢失之类的问题,如果每天都提交,则别人也能更新到你未开发完成的代码,进度也会受到影响。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
新建分支
在创建分支之前,建议使用 git branch
查看一下你当前处于什么分支
这时候可以看到是处于
master
分支,工作中还会有其它分支的,如 dev
等,如果需要基于dev
分支新建分支,则需要先 git checkout dev
意思是切换到dev分支
接下来我们基于master
创建一个功能分支(feat
)
再次
git branch
去查询当前所在的分支
可以看到已经成功切换到新建的功能分支了,也可以看前面的(
*
),处在哪个分支,哪个分支前面则会有*
总结命令
git branch feat
git checkout feat
// 或者一步到位
git checkout -b feat
提交修改到新分支
git add .
git commit -m "xxxx"
git push origin feat
此时如果你git checkout master
切换到master分支是看不到 feat
分支的提交的文件的,这样就可以在需求开发完成之后再一并提交的主分支
合并代码到主分支(master
)
假设需要合并到master
,则需要先切换到master
分支
git checkout master
然后再通过git merge feat
合并你feat
分支的代码
最后再push到
master
即可
功能测试通过,上线之后,就可以把新建的分支删除掉了
删除分支
git branch -d feat
小结
Git鼓励大量使用分支(例如需求1新建一个分支,需求2也新建一个分支)
查看分支:git branch
创建分支:git branch <name>
切换分支:`git checkout
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>