今天在練習用git版本控制來還原單一個檔案,而不是全部都退回,因為這個操作對我而言,應該會比較常用,所以記錄一下學習步驟。
我有兩個檔案test1.txt、test2.txt
commit後結果如下圖
接著在test1.txt增加內容
commit後結果如下圖
接著我在test2.txt增加內容,但是沒有commit,接著模擬需要把test1.txt還原
先用reset解除commit:
$ git reset HEAD^
如圖的版本002紀錄會被移除,但是保留檔案的修改內容,若是對應的檔案有在做修改,則以後續修改版本為主。
所以目前的test1.txt、test2.txt的內容都還保留住
接著把test1.txt還原:
$ git checkout test1.txt
如下圖test1.txt的內容已經被還原了,但是test2.txt的內容是不變的。
另外,我在其他文章上看到可以先產生新的分支,再切換至分支後還原單一檔案,沒有問題後再將分支合併,這樣的做法似乎比較安全一點。