场景引入:假设有一个你正在做的项目,里面已经有支付宝支付功能,现在Boss想让你添加一个微信支付功能,于是乎,你去开发微信支付模块。在微信支付模块开发过半时,突然支付宝支付出现一个bug需要你立刻马上放下手头正在开发微信支付的模块去修改支付宝bug。那么问题来了,你想要退回到没开发微信支付之前的版本??那么做微信开发已经过半了,不能白白浪费啊!!于是乎,git分支管理来了。。也许有童鞋会问,我微信模块先放下然后去改支付宝支付的bug不行吗?但是,你是否想过,你一旦改支付宝支付功能就很可能影响了微信模块的开发,而且你改动的可是主分支啊,一旦破坏不能修复不就整个项目都完蛋了吗??,所有git分支管理能够做到让你开发的内容不相互影响到最后却能完美的融合在一起。
解决思路如下:在做微信支付时,把仓库备份一份,在副本上就行修改,不影响原仓库内容,修改完毕后把修改内容合并过去。
前面见过的master,即是代码的主干分支
事实上,在实际开发中往往也不会直接修改和提交的内容到master分支上,而是创建一个Dev分支,修改测试完毕后再把分支上的内容合并到master上。
具体过程:
在做微信支付时,我们创建一个wechat分支,把wechat分支commit时,master分支内容不变,因为是两个不同的分支。
当遇到支付宝问题时,创建一个alibug分支,修改bug后把alibug分支合并到master分支上
再次把内容切换到wechat分支上,接着开发微信支付功能,开发完成后把wechat分支合并到master分支上。
git master //查看分支
创建分支
git branch we chat
此时,支付宝支付bug出现了,你需要再创建支付宝分支(alipay)
git branch alipay
分支切换
git checkout alipay //切换到alipay分支上
此时你就可以在alipay这个分支上就行bug的修改了。
当你修改完成后,你又可以切换到wechat分支。
合并分支
git merge wechat
删除分支
git branch -d alipay
好了,基本的分支管理就学会了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。