如上图,我想实现图上的效果,合并dev分支上历史连续提交的几个commit为一个到master主分支上,但是并不合并到最新
我知道直接合并分支到最新的提交为一个commit是以下代码
git merge --squash dev
但是不想合并到最新应该如何操作呢?
可能还会有下面的需求
将上面不同的连续几个分别合并成几个commit到master上
如上图,我想实现图上的效果,合并dev分支上历史连续提交的几个commit为一个到master主分支上,但是并不合并到最新
我知道直接合并分支到最新的提交为一个commit是以下代码
git merge --squash dev
但是不想合并到最新应该如何操作呢?
可能还会有下面的需求
将上面不同的连续几个分别合并成几个commit到master上
git rebase 可以合并多个 commit
我写了个工具,提供自动合并功能
npm i @wzyjs/cli -g
然后执行命令
mi m // 自动合并最近连续相同 content 的提交
mi m --commit // 合并前自动把当前改变的内容提交
mi m --push // 合并后自动推送
mi m --count 3 // 合并最近的 3 个提交
如果是你这种一段一段连续的,可以参考git rebase,但是我印象中rebase有时候好像会自动合在后面,不能把好几个commit合在一起;
还有一种就是format-patch,把你要的commit打成patch,然后apply到master,攒够你就commit一次
2 回答1.4k 阅读✓ 已解决
1 回答1.3k 阅读
1 回答868 阅读
1 回答788 阅读
851 阅读
git rebase
先把几个commit合并成一个,再merge过去git rebase
合并成一个commitPS:不要问我
git rebase
怎么用,请自行查资料学习。