【问题标题】:removing history from an git commit using egit plugin使用 egit 插件从 git 提交中删除历史记录
【发布时间】:2014-06-17 06:46:06
【问题描述】:

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

【问题讨论】:

    标签: git history egit


    【解决方案1】:

    技术上是的,但不确定你是否想这样做。思考利弊,尤其是改变推送历史的大弊:

    尚未推送/仅本地更改

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

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

    • git reset --soft <the commit you want to remove>:如果您不介意更改其余历史记录并重新提交,请使用此选项。这样不会有冲突,但只有在历史较短的情况下才可行

    更改远程分支

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

    仅当您确定暂时没有人获取远程分支或您独自工作时才执行此操作。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-11-20
      • 1970-01-01
      • 2013-08-03
      • 2015-09-02
      • 1970-01-01
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多