推送后如何撤消重置?

时间:2019-03-25 19:00:49

标签: git git-reset

我想还原推送的提交,由于缺乏知识,我做了

preg_match

现在,在此之后,已经取消了我重置的提交的人将无法返回。 git reset --hard HEAD~1 git push -f 不会收回1次提交。

我现在该如何解决此问题?有任何建议。

1 个答案:

答案 0 :(得分:2)

免责声明:在任何情况下,请务必先进行以下操作:

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

  • 每个人在重置任何内容之前都保存/提交本地更改,要么使用git stash,如simbo1905在其comment中所暗示的那样,要么通过在分支上进行提交然后用

    git branch backup-branch old-branch


现在简而言之,有两种方法,具体取决于项目的具体情况以及您刚刚进行的更改的性质:

1)每个人都选择您的版本

每个其他用户都使用

更新其本地分支机构
git fetch
git reset --hard <remoteName>/<branchName>

2)或版本要保留

在这种情况下,具有该分支*的旧引用的其他用户之一执行git push -f <remoteName> <branchName>,而 you 将执行上述操作以与他们同步。< / p>

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