1. 程式人生 > 其它 >Git 丟棄本地修改

Git 丟棄本地修改

分為三種情況:

: 還未將變更從工作區加入到暫存區,即未執行git add 命令前,如:

 

此時可以使用git checkout命令來撤銷修改,如:

git checkout -- rainbow.txt start.txt
git checkout -- *
git checkout -- *.txt

:已將變更加入到暫存區,即已經執行了git add命令,如:

此時可以使用git reset命令來撤銷修改,如:

git reset HEAD rainbow.txt start.txt
git reset HEAD  *
git reset HEAD *.txt

要注意的是,執行以上命令後,本地的修改並不會消失,而只是從暫存區回到了工作區,即第一種情況下所示的狀態。繼續用第一種情況下的操作,就可以放棄本地的修改。

:已經將程式碼提交到本地倉庫,即已經執行git commit命令,此時工作區已經clean,若想撤銷之前的修改,需要執行版本回退操作:

#回退到上一個版本
git reset --hard HEAD^
#回退到上上次版本
git reset --hard HEAD^^
git reset --hard HEAD^^^

#回退到指定commitid的版本
git reset --hard  commit_id

可以使用 git log

git reflog 命令來檢視git的提交歷史,獲取commit_id.



作者:Rethink
連結:https://www.jianshu.com/p/565306500575
來源:簡書

Git 丟棄本地修改 - 簡書 (jianshu.com)