博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Git] git merge之squash
阅读量:6184 次
发布时间:2019-06-21

本文共 640 字,大约阅读时间需要 2 分钟。

reference :

看CM源码时,发现历史记录里有很多squash,于是google了解了一下。

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

$ 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历史则没有拿过来。

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

 

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

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

 

转载地址:http://wxsda.baihongyu.com/

你可能感兴趣的文章
IOCP (关于WSASend,WSARecv调用)
查看>>
MOOON-scheduler核心设计图(初稿)
查看>>
网站开发的流程
查看>>
Apache Common-pool2对象池浅析
查看>>
Microsoft Hyper-V Server 2008 R2和SCVMM2012部署XenDesktop 5.6桌面虚拟化系列之二准备虚拟桌面模板...
查看>>
我的友情链接
查看>>
改变虚拟机MAC地址
查看>>
solr教程
查看>>
我的友情链接
查看>>
钱旺之行:互联网经济的增长点——注意力价值经济
查看>>
hadoop Map-Reduce体系架构(3)
查看>>
android语音朗读功能demo实现
查看>>
CRT或XSHELL工具连接centos7经常自动断开
查看>>
使用 QuickBI 搭建酷炫可视化分析
查看>>
1-1 Zabbix 监控安装
查看>>
最近运维中遇到的一些问题及解决方法
查看>>
Hadoop集群(第10期副刊)_常用MySQL数据库命令
查看>>
LinkedHashMap的实现原理
查看>>
shell 判断语句
查看>>
LVS+keepalived+Nginx(前后端故障处理)全自动化负载均衡配置
查看>>