我在2天前更新了一个带有几行新代码的文件,但是在我最新推出之后,这些更改完全消失了,而且git log -p没有此类更改/恢复的历史...
有没有办法看到这是怎么发生的?
提前致谢
答案 0 :(得分:4)
找出发生的事情取决于您正在使用的git托管。像github和bitbucket这样的服务将跟踪谁推送什么,并以一种非常易读的方式显示这些信息(只是 它的显示取决于您的托管服务提供商)。否则,您可以尝试使用reflog on the server找出发生的情况。 (虽然需要一些配置,但它可能在将来有用。)
至于恢复你的工作,check your local reflog找到你丢失的提交。
编辑我应该提一下,你很难以这种方式失去提交。另一个用户将不得不强制推送到远程存储库,因为git会以其他方式警告它们并且无法推送。即使他们这样做了,如果你在发生这种情况后试图从存储库中撤出,你会收到警告。我把所有这些都搞定了,因为如果你没有得到警告,你可能从未有过那些你认为在那个分支上的提交