使用egit插件从git提交中删除历史记录

时间:2014-06-17 06:46:07

标签: git history egit

我使用错误的凭据提交了一些内容,有没有办法可以从git历史记录中删除该提交。我在eclipse中使用了egit插件。

1 个答案:

答案 0 :(得分:0)

技术上是,但不确定是否要这样做。思考利弊,特别是改变推动历史的重要因素:

尚未推送/本地更改

控制台只需执行以下操作之一:

  • git rebase -i <commit before the one you want to remove>:将在文本编辑器中打开一个包含提交列表的文件。删除您要删除的提交。保存并退出。 Git将在没有提交的情况下重建历史(并且可能存在一些冲突)。

  • git reset --soft <the commit you want to remove>:如果您不介意更改历史记录的其余部分并重新提交,请使用此选项。你不会以这种方式发生冲突,但只有可行,如果它的历史很短。

更改远程分支

好吧,之前列出的任何解决方案,当你推动时必须指定-f选项,这非常糟糕:nucleardawn :!您将更改其他人可能依赖的提交历史记录,这可能会完全搞砸他们的工作。

如果您确定没有人在一段时间内获取远程分支,或者您单独工作,则只能执行此操作。

希望这有帮助。