我该如何结合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