git撤銷本地修改與回退版本
阿新 • • 發佈:2019-01-05
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
的狀態,所以撤銷修改和回退均對其不影響。我們直接手動刪除檔案就行了。