Git详细教程(十三)分支管理-管理策略
我们前面提到了Fast Forward这种合并模式,这种很方便,Git默认也会优先使用这种模式,但同时会带了一个问题,一旦合并且删除分支后,分支的信息将不再存在。
我们可以强制禁止Fast Forward模式,禁止之后Git就会在merge时产生一个新的commit记录,这样带来的好处显然易见,那就是可以从历史commit记录中查看到分支信息;
现在来学习如何以--no-ff
普通模式来git merge
:
//现在在master分支上的文件内容
$ cat README.text
无关风月oo
//创建新的dev分支
$ git checkout -b dev
Switched to a new branch 'dev'
//修改README.text 文件内容
$ vi README.text
此恨无关风与月oo
//提交一个新的commit
$ git add README.text
$ git commit -m 'dev modify'
[dev 61d1a87] dev modify
1 file changed, 1 insertion(+), 1 deletion(-)
//切回master并使用普通模式合并
$ git merge --no-ff -m 'noff mergemerge with no-ff' dev
Merge made by the 'recursive' strategy.
README.text | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
因为本次合并需要创建一个新的commit,所以加上-m参数,把commit描述写上。
然后我们使用
git log
查看分支历史:$ git log --graph --pretty=oneline --abbrev-commit
*4102d9e (HEAD -> master) noff mergemerge with no-ff
|\
| * 61d1a87 (dev) dev modify
|/
* 3833f92 init master
分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
【Git详细教程(十三)分支管理-管理策略】首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
文章图片
image.png
推荐阅读
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- gitlab|Gitlab升级(12.2.1到14.6.4)
- 用npm发布一个包的教程并编写一个vue的插件发布
- 20180322【w4复盘日志】
- 常用git命令总结
- 狗狗定点大小便视频教程下载地址
- SwiftUI|SwiftUI iOS 瀑布流组件之仿CollectionView不规则图文混合(教程含源码)
- 【实用教程】4种获取无水印视频素材的方法