轉 git 恢復 某個文件版本

描述
    以前一直沒有用到這個功能,最近手誤改錯了一個文件,其實徹底能夠手動改回來,可是因爲使用git,那麼就要利用她所帶的「高大上」的功能啊。
   google了一下命令,都是同樣的方法,引用以下:


    可是本身實際測試了一下,發現文件根本沒有改動,只是有unstaged commit的提示(說明一下,我是在windows環境下使用git客戶端,linux不知道是否是一樣的問題),以下圖:

而且,一旦執行「git add .」,全部暫存區中的變化全都消失了。十分糾結,測試了不少次。後來仔細看了一下上圖的英文,嘗試了一下再執行git checkout命令試試,由於這個命令平時只適應於將文件恢復到上次遞交的狀態,而不能選擇遞交的版本。

雖然執行完畢後什麼提示都沒喲,可是查看文件能夠看到,文件已經被修改成歷史版本了。

總結
   git將單個文件恢復到歷史版本的正確方法以下:
   git reset commit_id 文件路徑
   git checkout -- 文件路徑
linux


轉帖後記:git

git 能夠按照每一個文件查詢commit
windows

每一個commit 其實都是一個 技術文件修改的集合。測試


使用tortoisegit 恢復文件的方法是:google

相關文章
相關標籤/搜索