我使用错误的凭据提交了一些内容,有没有办法可以从git历史记录中删除该提交。我在eclipse中使用了egit插件。
答案 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 :!您将更改其他人可能依赖的提交历史记录,这可能会完全搞砸他们的工作。
如果您确定没有人在一段时间内获取远程分支,或者您单独工作,则只能执行此操作。
希望这有帮助。