问题

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

我已经完成了一个git log和一个git diff来找到我需要的修订,但只是不知道如何在过去将文件恢复到其原状态.

  最佳答案

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

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

git checkout man page提供了更多信息.

如果您想在c5f567之前恢复提交,请附加~1(与任何数字一起工作):

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

作为一个侧面,我一直对这个命令感到不舒服,因为它既适用于普通事物(在分支之间更改),也适用于异常的破坏性事物(丢弃工作目录中的更改).

  相同标签的其他问题

gitversion-controlgit-checkout