問題

我已經對作為一組檔案的一部分提交了幾次的檔案進行了一些更改,但現在想重置/恢復其上的更改回到以前的版本.

我已經完成了一個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