1. 程式人生 > >git撤銷本地修改與回退版本

git撤銷本地修改與回退版本

1. 使用 git checkout 撤銷本地修改

即放棄對本地已修改但尚未提交的檔案的修改,還原其到未修改前的狀態。
注意:add/ commit 的檔案不適用個方法,應該用本文提到的第二種方法。

命令如下:

git checkout .      # 撤銷對所有已修改但未提交的檔案的修改,但不包括新增的檔案
git checkout [filename]     # 撤銷對指定檔案的修改,[filename]為檔名

2. 使用 git reset 回退專案版本

可以回退到任意已經提交過的版本。已 add / commit 但未 push 的檔案也適用。

命令如下:

git reset --hard [commit-hashcode]  
# [commit-hashcode]是某個 commit 的雜湊值,可以用 git log 檢視

因此一般用法是先用 git log 檢視具體commit的雜湊值,然後 reset 到那個版本。

這裡寫圖片描述

說明:

這兩個命令都不會對新增檔案起作用。因為新增的檔案是還未加到 git 的記錄裡面的,即屬於未被 tracked 的狀態,所以撤銷修改和回退均對其不影響。我們直接手動刪除檔案就行了。