如何重做git中丢弃的本地更改?

时间:2016-12-07 17:40:00

标签: git git-checkout git-reflog

要明确的是,让git跟踪文件 a 并在本地修改。 而且文件也藏在了藏匿处 然后:

git stash pop        # if you did it, see [this link][1]
git checkout a       # if accidently you did only this - you lose

将丢弃该文件中的所有更改。

如何撤消此操作?

我在reflog中看不到这个操作。

pop后的存储不存在(未列出),但如果.git目录中某处有任何历史记录?

1 个答案:

答案 0 :(得分:2)

reflog仅跟踪分支小费何时更新,因此我不希望看到您的更改。

来自doc

  

参考日志,或" reflogs",记录分支的提示和   其他引用已在本地存储库中更新。

很抱歉,在这种情况下使用checkout表示这些更改会丢失。

stash可以是更安全的选择。

编辑:

如果这种损失很严重,你可以通过查看@ jthill对原始问题的评论来进行一些挖掘