小编典典

使用 Git 将文件回滚到更早的版本

all

我已经对作为一组文件的一部分提交了几次的文件进行了一些更改,但现在想将其上的更改重置/恢复到以前的版本。

我已经完成了 agit log和 agit diff以找到我需要的修订版,但只是不知道如何将文件恢复到过去的状态。


阅读 92

收藏
2022-06-28

共1个答案

小编典典

假设您想要的提交的哈希是c5f567

git checkout c5f567 -- file1/to/restore file2/to/restore

git checkout手册页提供了更多信息。

如果您想恢复之前的提交c5f567,请追加~1(其中 1 是您要返回的提交次数,可以是任何值):

git checkout c5f567~1 -- file1/to/restore file2/to/restore

附带说明一下,我一直对这个命令感到不舒服,因为它既用于普通事物(在分支之间更改),也用于不寻常的破坏性事物(丢弃工作目录中的更改)。


还有一个新git restore命令专门用于恢复已修改的工作副本文件。如果您的 git 足够新,您可以使用此命令,但文档附带警告:

此命令是实验性的。行为可能会改变。

2022-06-28