「Git」merge –squash介绍

Git相对于CVS和SVN的一大好处就是merge非常方便,只要指出branch的名字就好了,如:

$ git merge another

$ git checkout another

# modify, commit, modify, commit ...

$ git checkout master

$ git merge another

但是,操作方便并不意味着这样操作就是合理的,在某些情况下,我们应该优先选择使用--squash选项,如下:

$ git merge --squash another

$ git commit -m "message here"

--squash选项的含义是:本地文件内容与不使用该选项的合并结果相同,但是不提交、不移动HEAD,因此需要一条额外的commit命令。其效果相当于将another分支上的多个commit合并成一个,放在当前分支上,原来的commit历史则没有拿过来。

判断是否使用--squash选项最根本的标准是,待合并分支上的历史是否有意义。

如果在开发分支上提交非常随意,甚至写成微博体,那么一定要使用--squash选项。版本历史记录的应该是代码的发展,而不是开发者在编码时的活动。

只有在开发分支上每个commit都有其独自存在的意义,并且能够编译通过的情况下(能够通过测试就更完美了),才应该选择缺省的合并方式来保留commit历史。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 6,023评论 1 17
  • git-merge完全解析 Git的git-merge是在Git中频繁使用的一个命令,很多人都觉得git合并是一个...
    Chuckiefan阅读 406,415评论 13 111
  • 我并不是会写文的人,仅仅想表达的是自己的心情。最近的心情一再消沉,不知怎的,感觉身边的每个人都不再那么真实。...
    努力向前的小鱼儿阅读 221评论 4 0
  • 使用Fiddler做测试时,如果是一些重复的请求或返回控制,我们经常会使用脚本中的 函数去修改返回的内容,最近对产...
    白天才痴阅读 2,067评论 0 1
  • -01- 早上,陈明杰上班前,母亲对他说老家的小姑子当奶奶了,她想回去看看。说完这话的时候,母亲便不再说什么了。但...
    摘星妮妮阅读 1,926评论 6 2

友情链接更多精彩内容