1. 使用 git checkout
撤銷本地修改
即放棄對本地已修改但尚未提交的文件的修改,還原其到未修改前的狀態。
注意: 已 add
/ commit
的文件不適用個方法,應該用本文提到的第二種方法。
命令如下:
git checkout . # 撤銷對所有已修改但未提交的文件的修改,但不包括新增的文件
git checkout [filename] # 撤銷對指定文件的修改,[filename]為文件名
2. 使用 git reset
回退項目版本
可以回退到任意已經提交過的版本。已 add
/ commit
但未 push
的文件也適用。
命令如下:
- 1
git reset --hard [commit-hashcode]
- 2
# [commit-hashcode]是某個 commit 的哈希值,可以用 git log 查看
因此一般用法是先用 Git log
查看具體commit的哈希值,然后 reset
到那個版本。
說明:
這兩個命令都不會對新增文件起作用。因為新增的文件是還未加到 git
的記錄里面的,即屬於未被 tracked
的狀態,所以撤銷修改和回退均對其不影響。我們直接手動刪除文件就行了。