我想还原推送的提交,由于缺乏知识,我做了
preg_match
现在,在此之后,已经取消了我重置的提交的人将无法返回。
git reset --hard HEAD~1
git push -f
不会收回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
中本地恢复引用,然后用力将其再次推到远程,通常更快地将其从具有旧裁判的人的回购)