0

我不小心做了结帐文件。该文件有代码更改。

那么我可以恢复这些变化吗?

4

1 回答 1

1

与留下评论的人所相信的相反,特定于路径的签出(即git checkout path/to/my/file)确实会在没有警告的情况下覆盖您在该文件中的未暂存更改,因为如果您打算撤消未暂存的更改,这正是 git 希望您使用的命令。

不幸的是,由于这些更改是未分阶段的,git 没有它们的历史。虽然 git 非常擅长在提交后保留历史记录,但它基本上没有为工作树提供特殊保护;因此影响未跟踪文件或具有未暂存更改的文件的命令特别危险。

如果您进行连续备份(或者幸运并在更改存在时进行了备份),您可以使用这些备份。一些 IDE 保留可能有帮助的工作历史。但不幸的是,在大多数情况下(除非您有异常可靠的备份实践),在这种情况下可能没什么可做的。

于 2018-03-23T22:46:12.107 回答