我可以从.git目录中恢复未提交的文件吗?

时间:2012-08-10 20:21:20

标签: git


编辑:感谢大家的回复,但我很抱歉 - 我正在查看一个旧文件(我没有在其中工作过),我的应用的最新版本被复制了我备份了目录。


我正在开发一款应用,但忘记在格式化驱动器/重新安装操作系统之前提交更改。我确实预先获取了我的app目录(包括.git目录)的副本。

是否有可能恢复我正在处理的文件,这些文件在备份时没有提交?

我已经恢复了应用的备份目录,但它似乎是最后一次提交的状态。

如果不可能没有那么多变化,那么不是一个主要的头痛,但仍然 - 不会失去任何工作会很好。

3 个答案:

答案 0 :(得分:2)

这取决于你是否隐藏了这些变化我会想到。如果你没有,我会说不。

如果你还没有考虑过藏匿,也许你应该在将来考虑它。 Stashing允许您保留代码的工作备份,而无需提交代码。这样,如果您的代码处于混乱,不可用的状态,您可以在不提交的情况下对其进行备份。

Stashing

答案 1 :(得分:2)

对不起,you cannot get back uncommitted changes使用Git。但@sehe有一些good suggestions用于其他地方找到你的更改。

  1. 您的编辑器是否自动保存每个文件的备份? (例如Vim的bak~文件)
  2. / tmp或C:\ Temp。
  3. Eclipse本地设置

答案 2 :(得分:1)

没有。如果git从未被告知有关更改(通过提交),那么它如何检索更改?

也就是说,如果你想要一个git -is-知道的任何变化,藏匿等的列表,你可以使用git reflog来审查所有最近的行动。