67

我不小心对存储库中的错误分支运行了命令 - 有没有办法撤消此更改?

4

4 回答 4

97

git revert只是创建一个新的提交——你可以git reset --hard HEAD^用它“删除”它(不过要更加小心!)

于 2010-09-07T20:41:59.333 回答
28

该命令git revert只是创建一个撤消另一个的提交。您应该能够git revert HEAD再次运行,它会撤消您之前的撤消并为此添加另一个提交。或者你可以这样做git reset --hard HEAD~。但要小心最后一个,因为它会删除数据。

HEAD~表示当前HEAD之前的提交

于 2010-09-07T20:43:57.407 回答
4

怎么还原revert呢?

查看 git log 并获取 bad revert 的 hash tag:

git log -5

然后反转还原本身:

git revert

于 2012-09-25T11:09:53.913 回答
0

如果你有足够的先见之明做到这一点:revert --no-commit master,你可以中止它:git revert --abort根据git status建议:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
You are currently reverting commit dcc7c46.
  (all conflicts fixed: run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)
于 2018-03-24T12:18:53.560 回答