2015-09-06 64 views
-1

我现在对git有一个奇怪的经历,我有一个多周前完成的提交,我将存储库存储在bitbucket中,如果我运行git log命令,我可以看到承诺我做了,但包含在该提交中的实际文件丢失了。这是我第二次体验它,第一次是当我认为我无法承担这些更改并意外丢失时,但现在在检查我的日志之后,这两个提交存在。任何想法为什么会发生?文件丢失但存在提交

另请注意,如果我签出该特定的提交,文件将显示。但是当我回到我最近的提交时,这些文件已经消失了。我知道还没有删除这些。

+1

也许你忘了在提交之前将文件添加到临时区域? – Martin

+0

我与@Martin一样,这是非常普遍的 –

+0

我不这么认为,如果我签出特定的提交,文件将显示。但是当我回到我最近的提交时,这些文件已经消失了。我知道还没有删除这些。 – JCS

回答

0

。也许我只需要创建一个迁移再次

您可以在任何时候恢复(如在当前的HEAD)这些文件有:

git checkout <acommit>-- <file_path> 

为“Find and restore a deleted file in a Git repo”查看更多。

A git log --diff-filter=D --summary帮助查明删除文件的提交。

+0

在极端*情况下,您也可以使用'git reflog'。 – cyphar

+0

@cyphar是的,当提交丢失。但在这里,情况并非如此:提交是可见的,并可从HEAD访问。 – VonC

+0

工作,感谢@ vonC,在发布这个问题在这里之前,我已经做了git reflog,并试图合并提交到我的头,但回答“已经最新”。顺便感谢那个解决方案。 – JCS