我有一个历史混乱的项目,你越往前看就越混乱。我想要做的是将所有内容保留到特定提交,并从该提交开始压缩所有内容。所以在下面的方案中,我想保持 A 和 B 之间的所有内容,包括 A 和 B 之间的所有内容,并压缩 B 和 C 之间的所有内容:
A-...-B-...-C
不幸的是,在进行交互式 rebase 时,我似乎最终会沿途压平整个历史,这并不理想。我仍然希望看到 A 和 B 之间的分支和合并。有没有直接的方法可以做到这一点?我错过了一些非常简单的东西吗?
你应该写
$ git rebase -i HEAD~N
其中 N 是 B 和 C 之间的提交次数。
您应该将其他每个提交压缩到 C 中。在您重新定位的分支上,您将保留 A 和 B 之间的所有提交。
另请参阅本教程: http: //pcottle.github.io/learnGitBranching/。