博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
聊下git merge --squash
阅读量:7117 次
发布时间:2019-06-28

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

你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里。

但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录。而这些commit是无需在release里体现的。

develop 主分支

develop主分支最近的一个commit是”fix imageprint bug.”。我们拉出一个分支进行项目开发,里面会有很多commit记录。

git checkout -b develop_newfeature_ImportDataInterface origin/develop

develop_newfeature_ImportDataInterface 分支的commit log是和develop是一模一样的。我们添加点修改commit。

现在我们需要将develop_newfeature_ImportDataInterface 分支的commit merge到develop主分支里去。在合并进develop的时候我们希望在develop里的commit log里只看见一次commit,而且这个commit的message不是很随意的,而是符合正规提交流程的约定格式的,比如,”develop:finished import data interface”。

我们就需要借助git merge –squash命令参数来重新准备提交。(这是一个明确的merge操作不同于git rebase,不要搞混淆这两个命令的作用。)

git merge --squash develop_newfeature_ImportDataInterface

Updating cc1fea6..e6fb522    

Fast-forward    
Squash commit -- not updating HEAD    
1.txt | 3 +++    
1 file changed, 3 insertions(+)

--squash 会暂停commit提交。要不然一个merge会自动提交commit。

1.txt文件是我们修改的文件,它现在待commit。现在我们只需要重新提交即可。

git commit -m'develop:finished import data interface'

这样每次merge就会很清爽,一目了然,就算回头reset也方便。

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

你可能感兴趣的文章
mysql审计
查看>>
Data Structure_Visualization
查看>>
浅谈IPsec的工作原理及优缺点
查看>>
利用java实现发送邮件
查看>>
python 模板中的语法
查看>>
JavaFX控件——FileChooser(文件选择框)
查看>>
视频直播网站开发千万不能忘的一个知识点
查看>>
Unity 3D中的射线与碰撞检测
查看>>
3月21日云栖精选夜读 | 重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell ...
查看>>
puppet确保程序运行
查看>>
Java spring boot 2.0连接mysql异常:The server time zone value 'Öйú±ê×¼Ê...
查看>>
Python爬虫入门教程 7-100 蜂鸟网图片爬取之二
查看>>
使用expo在安卓模拟器中运行React Native程序
查看>>
码农西游 | 写一本技术书可以赚多少钱
查看>>
最详细的Vue Hello World应用开发步骤
查看>>
标签打印软件如何制作三角形合格证
查看>>
阿里云Web应用防火墙知识,了解阿里云Web应用防火墙
查看>>
通过iotop与performance_schema.threads查看mysql的IO使用情况
查看>>
struts
查看>>
Spring Cloud服务短路Netflix Hystrix
查看>>