如何从git push -f恢复?

我在一个分支上做了一个git push -f,现在却失去了其他人的工作.

我能够在我的github中看到其他人的工作被显示(显示在活动中),但不能在远程分支中(我推动我的更改).不幸的是我没有我的本地repo与远程同步.所以我本地没有其他人代码.有没有办法可以把它送到我当地并恢复?

最佳答案 在做任何其他事情之前,请执行以下3个步骤 – 备份您的本地仓库,告诉其他人备份他的,并备份现在的远程仓库.没什么好看的,只需按Ctrl C,Ctrl V就可以了.在整个项目中执行此操作,以便备份工作树.如果您没有直接访问远程服务器,git克隆就足够了,但我更喜欢真正的目录副本.

一旦你完成了,另一个人可以使用git push -f重新上传他的分支.如果他有新的提交,你将不得不弄清楚他最后推送的提交,但我相当确定不会丢失实际的提交.如果另一个人已经完成了git pull -f,即使这样他也可以使用git reflog来恢复他的本地分支.

由于你正在使用Github,你可能也会看到https://stackoverflow.com/a/35273807/492336.显然有一个Github的事件API可能很有用.

点赞