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

如何在git中重做丢弃的本地更改?,git,git-checkout,git-reflog,Git,Git Checkout,Git Reflog,为了清楚起见,让git跟踪文件a,并在本地进行修改。 此外,文件也被藏起来了 然后: 将放弃该文件中的所有更改 如何撤消此操作 我在reflog中没有看到此操作 pop后隐藏不存在(未列出),但如果在.git目录中的某个位置有任何该历史记录,则?reflog仅跟踪分支尖端何时更新,因此我不希望在那里看到您的更改 从: 参考日志,或“回流日志”,记录分支和 其他引用已在本地存储库中更新 很抱歉,在这种情况下使用签出意味着这些更改将丢失 stash可能是一种更安全的选择 编辑: 如果丢失情况严重,您

为了清楚起见,让git跟踪文件a,并在本地进行修改。 此外,文件也被藏起来了 然后:

将放弃该文件中的所有更改

如何撤消此操作

我在reflog中没有看到此操作


pop后隐藏不存在(未列出),但如果在
.git
目录中的某个位置有任何该历史记录,则?

reflog
仅跟踪分支尖端何时更新,因此我不希望在那里看到您的更改

从:

参考日志,或“回流日志”,记录分支和 其他引用已在本地存储库中更新

很抱歉,在这种情况下使用
签出
意味着这些更改将丢失

stash
可能是一种更安全的选择

编辑:


如果丢失情况严重,您可以通过查看@jthill对原始问题的评论来进行挖掘

该文件在poped stash中,有什么变化吗?@ups从您的stash stack中弹出内容会将其从该stack中移除,因此我认为它仍然丢失……但是如果您使用了“apply”而不是“pop”它仍然可以找回。您确定您的更改不是以前提交的一部分吗?看来这正是你需要的
git stash pop        # if you did it, see [this link][1]
git checkout a       # if accidently you did only this - you lose