1. 使用 git checkout
撤銷本地修改
即放棄對(duì)本地已修改但尚未提交的文件的修改宪迟,還原其到未修改前的狀態(tài)蛤签。
注意: 已 add
/ commit
的文件不適用個(gè)方法猬仁,應(yīng)該用本文提到的第二種方法事期。
命令如下:
git checkout . # 撤銷對(duì)所有已修改但未提交的文件的修改荆虱,但不包括新增的文件
git checkout [filename] # 撤銷對(duì)指定文件的修改蒿偎,[filename]為文件名
2. 使用 git reset
回退項(xiàng)目版本
可以回退到任意已經(jīng)提交過的版本。已 add
/ commit
但未 push
的文件也適用怀读。
命令如下:
git reset --hard [commit-hashcode]
# [commit-hashcode]是某個(gè) commit 的哈希值诉位,可以用 git log 查看
因此一般用法是先用 git log
查看具體commit的哈希值,然后 reset
到那個(gè)版本菜枷。
說明:
這兩個(gè)命令都不會(huì)對(duì)新增文件起作用苍糠。因?yàn)樾略龅奈募沁€未加到 git
的記錄里面的,即屬于未被 tracked
的狀態(tài)啤誊,所以撤銷修改和回退均對(duì)其不影響岳瞭。我們直接手動(dòng)刪除文件就行了。