聊下git merge --squash

你经常会面临着将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也方便。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Git管理项目实例说明-记录和跟踪项目

假设一个HTML项目,使用Git来记录和跟踪这个项目,包括以下内容: 1)创建版本库。 2)添加与修改文件。 3)创建新分支。 4)打标签并整理版本库。 5)克...

20150
来自专栏JMCui

SVN学习笔记.

一、什么是SVN?        Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据...

48870
来自专栏程序员互动联盟

程序员最爱说的8句谎言

1.我以后再给代码写注释和文档 2.就改一行代码,不会影响其他东西的 3.这 Bug 不在我代码中,你肯定使用姿势不对啊! 4.下次修改代码时我会增加单元测试 ...

38750
来自专栏移动端周边技术扩展

trunk push后找不到自己的库

16040
来自专栏Huramkin的归档库

GitHub使用(一)

GitHub的版本控制系统,用来上传与管理代码非常方便,当然可以选择比如像SourceTree这类GUI,但是Git可以使用更多的功能。

8210
来自专栏DannyHoo的专栏

利用Xcode管理代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/de...

17840
来自专栏DannyHoo的专栏

学习git的一些命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

10530
来自专栏我的博客

mac下mcrypt扩展解决

如果使用php自带的加密算法,其中需要这个mcrypt扩展,各种编译通不过。。后来干脆下在一个 【点击下载mcrypt.so】 然后修改 sudo vi /et...

28860
来自专栏Python攻城狮

Git的使用1.Git简介2.安装3.远程仓库4.本地仓库

博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。

9640
来自专栏程序猿

基础知识:多人使用一个Github仓库

在公司进行项目开发,每个项目组多人,往往会共用同一个Github仓库地址。在合并分支的时候,有很多情况是出错的,无法合并。 目录简介 分支简介 ...

30150

扫码关注云+社区

领取腾讯云代金券