【发布时间】:2021-08-12 18:12:19
【问题描述】:
当试图通过 git reset 恢复到以前的提交(例如 123abc)时
git reset --hard 123abc
git commit -a -m "revert to 123abc"
我不能推动这个(我需要先拉,然后拉才能让我向前)。 我有这几行:
for i in `git diff --name-only 123abc`; do git checkout 123abc $i; done
git commit -a -m "revert to 123abc"
从现在开始有效
git diff --name-only 123abc
是空的
我想知道这是 hack 还是 git 方法。如果不是, 如何正确地做到这一点?
【问题讨论】:
-
如果您正在重置,则无需再次提交。
-
@evolutionxbox 但我无法推动。我希望 origin 知道我要重置的事实。
-
通过重置您正在更改提交树。遥控器可能拒绝推送。您可以强制推送,删除远程分支并再次推送,或者使用还原而不是重置。
标签: git git-revert