Git 签出后带回本地更改

Git 签出后带回本地更改,git,Git,签出工作目录后,是否有方法在工作目录中重做更改?我只是用ssh连接到一个我有一段时间没有使用的服务器上,看到索引中有未老化的更改。我以为这只是我上次做的临时工作,但我想,因为我没有提交它们,它们并不重要,所以运行: $ git checkout . 给我自己一张干净的石板。不幸的是,这有点仓促,因为上次我在这台服务器上时,我只是忘记了提交,我所做的大部分工作都是在这些更改中完成的 我觉得这是一个漫长的过程,但是有没有办法将这些本地更改带回工作目录?这些更改是: staged(意思是添加到索引

签出工作目录后,是否有方法在工作目录中重做更改?我只是用ssh连接到一个我有一段时间没有使用的服务器上,看到索引中有未老化的更改。我以为这只是我上次做的临时工作,但我想,因为我没有提交它们,它们并不重要,所以运行:

$ git checkout .
给我自己一张干净的石板。不幸的是,这有点仓促,因为上次我在这台服务器上时,我只是忘记了提交,我所做的大部分工作都是在这些更改中完成的


我觉得这是一个漫长的过程,但是有没有办法将这些本地更改带回工作目录?

这些更改是:

  • staged(意思是添加到索引中),在这种情况下,
    git fsck--full--unreachable--no reflog
    会有所帮助。
    例如,见:

    • “”
    • “”
  • 未分段(工作树中的本地私有修改):在这种情况下,这些修改将丢失


简短回答:不。如果Git通过任何方式(未存储、添加到暂存)了解到这些更改,那么就有机会了。否则,您可能会运气不佳。为了便于将来参考,通常最安全的方法是使用
git stash
恢复“干净的状态”。在运行
git checkout
git reset
之前,您还可以使用
git diff
查看更改。好的,谢谢。我想不是。我知道以后要小心!您不能有“索引中的未分级更改”。根据定义,索引中的任何内容都是分段的。可以恢复的阶段性更改。未老化的更改已消失。