2013-05-29 18 views
3

我已经改变了一个不错的文件,并想看看自上次提交后发生了什么变化。我的更改没有提交。Git - 从以前的提交中检出了一个文件,是否失去了我未完成的工作?

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

有什么办法可以回到我添加的未完成的作品,还是永远失去了?

谢谢

+3

检查你的编辑器的撤消历史记录。 – SLaks

+0

我问我竟然打撤消,是后能够让我的变化回来,没想到这是可能的,但是这为我节省了一些工作 – Squadrons

回答

3

当您签出文件时,它会覆盖文件,表示文件已经消失。

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

+3

为了在特定提交中检索文件,请使用:'git show 123abcd:path/to/file' – Lekensteyn

2

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

您必须再次编写该代码。

下一次,当你想要做这样的事情时,你可以使用git stash。输入git help stash以查看它的功能。或者@Lekensteyn建议,git show可能会更好。

+0

嗯,经验教训。不是很多,但现在我会提交然后签出文件或使用差异或显示 – Squadrons

+1

@Squadrons:或者'git stash' – SLaks

+0

是的 - 但隐藏会隐藏一大堆我的更改 - 我想保留大部分更改,但看到旧文件在我最后一次提交。 – Squadrons

相关问题