我该如何结合2'git commit

我在本地做了2个'git commit'。 但我没有推,我可以编辑我的git并将这两个git commit合并为1吗?


对的,这是可能的:

您必须首先找到您想要使用的提交之前的提交。 想象一下,我们想要结合最后两个提交:

git rebase -i HEAD~3

这将启动一个交互式底图编辑器,它可以执行所谓的提交压缩操作,它将列出从三次提交之前开始的提交操作。

请阅读编辑器窗口中的帮助信息,了解如何使用交互式底图。 为了取消rebase操作,你必须从文件中删除所有行并保存! 您也不要触摸提交ID和描述 - 只需在提交ID从“pick”到“s”(压扁)之前更改命令,

另一件事是,你绝对正确地提到你还没有推动。 首先也是唯一一条git规则是“不重写已发布的历史记录”。 也就是说,您不会重新绑定,重新排序或删除已提交给公众访问的提交。 对于所有情况都是如此,除非你是唯一一个在项目上工作的人。


如果你已经提交了一个提交并且想要添加一些更改,你可以使用git commit --amend来修改你的上次提交。 如果你想在不经历git rebasing的所有麻烦的情况下做到这一点,那么:

git checkout --soft HEAD~

这将删除最后一次提交而不删除更改,然后

git commit --amend -C HEAD

这将修改索引中新更改的最新提交。 -C HEAD标志从头提交提交提交消息,所以你甚至不需要再次添加消息。


还有另一篇关于压扁的文章:http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html

链接地址: http://www.djcxy.com/p/23457.html

上一篇: How can I combine 2 'git commit's

下一篇: Replace a commit in git