Git:在不改变其他地方历史的情况下压制一系列提交

时间:2014-11-25 16:50:03

标签: git rebase squash

我有一个杂乱的历史项目,让你看起来更加复杂。我要做的是将所有内容保存到特定的提交中,然后从该提交开始压缩所有内容。因此,在下面的方案中,我希望保持A和B之间的所有内容,并在B和C之间压缩所有内容:

一个-...-乙-...-ç

不幸的是,在进行交互式反射时,我似乎最终会使整个历史变得平坦,这并不理想。我想仍然看到A和B之间的分支和合并。有没有直接的方法来做到这一点?我错过了一些非常简单的东西吗?

1 个答案:

答案 0 :(得分:0)

你应该写

$ git rebase -i HEAD~N

其中N是B和C之间的提交次数。

你应该将每个其他提交压缩到C.在你已经重新登录的分支上,你将保留A和B之间的所有提交。

另见本教程:http://pcottle.github.io/learnGitBranching/