Git 推送后如何撤消重置?

Git 推送后如何撤消重置?,git,git-reset,Git,Git Reset,我想恢复一个推式提交,因为缺乏知识,我这样做了 git reset --hard HEAD~1 git push -f 现在,在这之后,已经撤销了我重置的提交的人,他们无法返回。 git pull不会收回它们 我现在该如何解决这个问题?任何建议。免责声明:在任何情况下,在做任何事情之前,请确保: 与您的团队详细讨论,以便大家都同意一项计划 每个人在重置任何内容之前都会保存/提交其本地更改,或者使用simbo1905在his中暗示的git stash,或者在分支上提交更改,然后使用 gi

我想恢复一个推式提交,因为缺乏知识,我这样做了

git reset --hard HEAD~1 
git push -f 
现在,在这之后,已经撤销了我重置的提交的人,他们无法返回。
git pull
不会收回它们


我现在该如何解决这个问题?任何建议。

免责声明:在任何情况下,在做任何事情之前,请确保:

  • 与您的团队详细讨论,以便大家都同意一项计划

  • 每个人在重置任何内容之前都会保存/提交其本地更改,或者使用simbo1905在his中暗示的
    git stash
    ,或者在分支上提交更改,然后使用

    git分支备份分支旧分支


简而言之,有两种方法,具体取决于您项目的具体情况和您刚刚推动的更改的性质:

1)要么每个人都支持你的版本

其他每个用户都会使用

git fetch
git reset --hard <remoteName>/<branchName>
git-fetch
git重置——硬/
2)或保留其版本

在这种情况下,具有此分支*的旧ref的其他用户之一执行一个
git push-f
,您需要执行上述操作以与他们同步


*(如果没有人出于任何原因可以这样做,您也可以从分支的本地恢复ref,然后用力将其再次推到远程,从具有旧ref的人的回购中推它通常更快)

他们也应该进行硬重置:
git reset--hard HEAD
,然后拉,但是他们将丢失本地更改扫描
git stash
在重置之前备份他们的工作?@simbo1905是的,这甚至可能是比在分支上提交更好的解决方案,因为它可能很快就会重置。我甚至主张在重置之前进行分支备份,以防万一……您也可以返回到它们的版本并使用
git revert