0

两天前,我用几行新代码更新了一个文件,但是在我最近一次拉取之后,这些更改完全消失了,并且 git log -p 没有此类更改/还原的历史记录...

有没有办法看看这是怎么发生的?

提前致谢

4

1 回答 1

4

找出发生了什么取决于您使用的 git 托管。诸如 github 和 bitbucket 之类的服务将跟踪谁推送了什么,并以一种非常易读的方式显示这些信息(只是的显示方式取决于您的托管服务提供商)。否则,您可以尝试使用服务器上的 reflog来了解发生了什么。(虽然需要一些配置,所以它可能只是在将来有用)。

不过,就恢复您的工作而言,请检查您的本地 reflog以查找丢失的提交。

编辑我应该提到,你很难以这种方式失去提交。其他用户将不得不强制推送到远程存储库,因为 git 否则会警告他们并且无法推送。即使他们这样做了,如果您在发生这种情况后尝试从存储库中提取,也会收到警告。我提出了这一切,因为如果你没有得到警告,你可能从来没有那些你认为你首先在那个分支上的提交

于 2013-02-05T00:21:00.577 回答