Git-从以前的提交中签出了一个文件,我是否丢失了未提交的工作?

Git-从以前的提交中签出了一个文件,我是否丢失了未提交的工作?,git,Git,我已经更改了一个相当大的文件,想看看自上次提交以来发生了什么变化。我的更改没有提交 我使用git checkout/path/to/file并成功地从上次提交中获取了该文件 是否有任何方法可以回到我添加的未受限制的工作中,或者这是永远丢失的 谢谢不幸的是,是的,你可能永远失去了它 你得再写一遍那段代码 下次,当您想做类似的事情时,可以使用git stash。键入git help stash查看它的功能。或者正如@Lekensteyn所建议的那样,git show可能会更好。当你签出一个文件时,它

我已经更改了一个相当大的文件,想看看自上次提交以来发生了什么变化。我的更改没有提交

我使用git checkout/path/to/file并成功地从上次提交中获取了该文件

是否有任何方法可以回到我添加的未受限制的工作中,或者这是永远丢失的


谢谢

不幸的是,是的,你可能永远失去了它

你得再写一遍那段代码


下次,当您想做类似的事情时,可以使用
git stash
。键入
git help stash
查看它的功能。或者正如@Lekensteyn所建议的那样,
git show
可能会更好。

当你签出一个文件时,它会覆盖该文件,意味着它已经不存在了


以后,使用
git diff
查看发生了什么变化。使用不带参数的
git diff
将显示您所在目录中的所有更改,或者您可以对该文件的差异执行
git diff/path/to/file

很抱歉,我认为您永远丢失了未受限制的工作:-(

有关更好的解释,请参见

好的,吸取的教训。不是很多,但现在我会提交然后签出一个文件或使用diff或show。@squandons:or
git stash
。是的-但是stash会隐藏我的一堆更改-我想保留大部分更改,但在我上次提交时会看到旧文件。@squandons一旦你查看了更改。你可以使用
git stash apply
若要将所有更改应用回。若要在特定提交时检索文件,请使用:
git show 123hu:path/to/file
检查编辑器的撤消历史记录。在我询问后,我实际按了撤消,并能够恢复更改。我认为这不可能,但这节省了我一点工作。