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

分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列教程来自廖雪峰的官方网站,现在搬运过来,目的帮助自己和小白学习收藏!附赠:常用git命令清单 目录 前言 创...
    Blizzard_liu阅读 1,158评论 0 4
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,630评论 0 13
  • 不念过往,珍惜当下,与世界相逢,一笑泯恩仇。 改变懒惰
    若熙若熙阅读 90评论 0 0
  • 健康,善良,快乐,勤奋 今天值得开心的事: 1.终于把论文搞完了,虽然不是我自己弄的还花了钱,不过总算了了一件事。...
    由婧玉Melody阅读 184评论 0 0
  • 若一念天堂, 便来时花满路。 能看到风吹起云的翅膀, 能听到花开的声音, 能念住过往。 若一念地狱, 便去时已荒芜...
    余珂阅读 225评论 0 0