假设我在series /master之后有一系列的提交:
5------4--------3-------2--------1
(master) (HEAD)我想将4到1一起压缩到一个提交中,在任何冲突的情况下,1中的更改优先。这意味着在1中引入的更改将保留在压缩中,并覆盖任何冲突。(如果在4-2中引入了任何1不冲突的新更改或文件,则这些更改将保留)
我该怎么做呢?
发布于 2015-09-01 06:50:58
使用git rebase --interactive连接到squash the commits。
Rebase步骤是按提交顺序应用的,因为使用rebase只是为了在它自己的祖先上调整您的工作,所以您没有给自己任何引入冲突的机会。Commit 4将只应用于处于post-5状态的代码,然后3将应用于post-4状态;您只是摆脱了中间的里程碑(4,3,2)。
$ git rebase -i <commit-5>
pick <commit-4> This is commit 4
squash <commit-3> This is commit 3
squash <commit-2> This is commit 2
squash <commit-1> This is commit 1https://stackoverflow.com/questions/32320879
复制相似问题