【发布时间】:2014-11-22 15:17:30
【问题描述】:
有什么方法可以在签出后重做工作目录中的更改?我只是通过 ssh 连接到一个我有一段时间没有使用过的服务器,并看到索引中有未暂存的更改。我以为这只是我上次做的草稿工作,但由于我没有提交它们,它们并不重要并运行:
$ git checkout .
给自己一张白纸。不幸的是,这有点草率,因为事实证明,上次我在这台服务器上时,我只是忘记了提交,而我所做的大部分工作都在这些更改中。
我觉得这是一个很长的尝试,但是有没有办法将这些本地更改恢复到工作目录?
【问题讨论】:
-
简短回答:否。
-
如果 Git 通过任何方式(未暂存的存储,添加到暂存)知道这些更改,那么就有一个机会。否则,你可能会倒霉。
-
为了将来参考,使用
git stash恢复“干净的状态”通常是最安全的。您也可以在运行git checkout或git reset之前使用git diff查看更改。 -
好的,谢谢。我想不是。我知道以后要小心这个!
-
您不能在索引中进行“未暂存的更改”。根据定义,索引中的任何内容都是暂存的。您可以恢复的分阶段更改。未分阶段的更改已消失。
标签: git