在我的本地 GIT 仓库中,我有以下提交记录:
A --> B --> C --> D
(其中D是头部)
我想将B和C合并/压缩成一个提交记录。如何做到这一点?
谢谢。
A --> B --> C --> D
(其中D是头部)
我想将B和C合并/压缩成一个提交记录。如何做到这一点?
谢谢。
使用以下命令:
git rebase -i A ;# where A is A's commit hash
pick c7787af A
pick f9d9262 B
pick 6c363d0 C
pick 40f657d D
变为:
pick c7787af A
pick f9d9262 B
squash 6c363d0 C
pick 40f657d D
pick c7787af A
pick f9d9262 B
fixup 6c363d0 C
pick 40f657d D
永远不要对已经与协作者分享的分支进行变基。此操作会更改SHA1散列值,并导致非快进更新。
正如Jason在评论中提到的那样,另一种语法是git rebase -i HEAD~4
。当您将最近的历史记录重新打包以压缩提交时(即当很容易向后计算父项时),这可以避免查找A
的哈希值的麻烦。
git rebase -i HEAD~4
,其中4是您想要更改的最顶部提交的数量。这样可以避免手动输入哈希值... - Penghe Geng