我可以在GIT中删除这两个提交吗?

时间:2014-03-17 10:45:39

标签: git commit

如图所示,我可以删除提交0ec08281和21736a48吗? 我想也许我可以使用rebase来做它,但我害怕删除最后的提交。

history

编辑: 我忘了提到提交被推送到远程服务器。但是现在我是唯一可以访问该服务器的人(至少到目前为止),所以没有机会将源代码搞砸给其他人。

2 个答案:

答案 0 :(得分:3)

您可以使用交互式rebase(使用-i)参数,并删除要删除的提交的哈希值。

提供将您的更改推送到共享存储库。在此处查找更多信息: * http://git-scm.com/book/en/Git-Tools-Rewriting-History *

e.g。 git rebase -i 22782e08

这应该没问题,记住在交互式脚本窗口中删除的任何提交ID都将被删除,如果你想中止,删除脚本中的所有提交。屏幕上会有关于此的说明。

出于兴趣,为什么要删除它们?如果你出于整洁的原因这样做,图表对我来说很好。

答案 1 :(得分:2)

如果您推动了更改,那么交互式rebase不是一个好主意,您将重写历史记录。

更好的方法是revert您不想要的更改

git revert 22782e08

这将创建一个新提交,撤消您要还原的提交中的更改。

这样做更好,因为它不会改变历史记录,但会撤消更改。