[Git] git merge之squash
Git Merge
2023-09-14 08:56:59 时间
reference : https://www.cnblogs.com/ungshow/p/3515161.html
看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历史。
相关文章
- git分支的默认名字是_git查看某个人的提交
- SVN或者GIT远程双向同步
- 分布式版本控制 Git 最佳实践(一)
- Git入门学习到进阶2
- git merge vs git rebase
- 记录Cenos8安装Git全过程 – 学金融的文史哲小生
- git merge用法详解_git merge 冲突
- Git删除本地分支_idea删除git分支
- day10 | Git的正确使用姿势与最佳实践 | 第三届字节跳动青训营笔记
- 初识git
- Win10配置Git环境变量与基本使用
- Git提交规范
- git 基本命令使用
- git添加新用户详解程序员
- Git与Linux结合:创造无限可能(git和linux)
- 下使用git在Linux下使用Git:简单易学.(如何在linux)
- 学习Linux下的Git版本控制(linux上使用git)
- Git 免用户名密码访问代码库
- Linux Git绝密:让你的密码安全无忧(linuxgit密码)
- Git实现Linux内核快速下载(git下载linux内核)
- 精通Linux系统的Merge用法(merge用法linux)
- Linux安装Git简易教程(linux 下载git)
- Linux下使用Git的快速安装步骤(linux下git的安装)
- MySQL 中Merge的使用方法(mysql 中merge)
- 从Git合集进入Redis集群的新路(redis集群git合集)
- Git 2.33 发布,新增“merge-ort”合并实现 500-9000 倍加速