Git 撤銷放棄本地修改
白馬不是馬 2019-06-10 16:34:08 14163 收藏 2
分類專欄: Git 文章标簽: Git
版權
如果在修改時發現修改錯誤,而要放棄本地修改時,
一,
未使用 git add 緩存代碼時。
可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘記中間的 “--” ,不寫就成了檢出分支了!!)。放棄所有的檔案修改可以使用 git checkout . 指令。
此指令用來放棄掉所有還沒有加入到緩存區(就是 git add 指令)的修改:内容修改與整個檔案删除。但是此指令不會删除掉剛建立的檔案。因為剛建立的檔案還沒已有加入到 git 的管理系統中。是以對于git是未知的。自己手動删除就好了。
二,
已經使用了 git add 緩存了代碼。
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)來放棄指定檔案的緩存,放棄是以的緩存可以使用 git reset HEAD . 指令。
此指令用來清除 git 對于檔案修改的緩存。相當于撤銷 git add 指令所在的工作。在使用本指令後,本地的修改并不會消失,而是回到了如(一)所示的狀态。繼續用(一)中的操作,就可以放棄本地的修改。
三,
已經用 git commit 送出了代碼。
可以使用 git reset --hard HEAD^ 來回退到上一次commit的狀态。此指令可以用來回退到任意版本:git reset --hard commitid
你可以使用 git log 指令來檢視git的送出曆史。git log 的輸出如下,之一這裡可以看到第一行就是 commitid:
commit cf0d692e982d8e372a07aaa6901c395eec73e356 (HEAD -> master)
Author: toyflivver <[email protected]>
Date: Thu Sep 28 14:07:14 2017 +0800
多餘的空行
commit 14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff
Date: Thu Sep 28 14:06:44 2017 +0800
正常的代碼
commit da3a95c84b6a92934ee30b6728e258bcda75f276
Date: Thu Sep 28 13:58:12 2017 +0800
qbf
commit 267466352079296520320991a75321485224d6c6
Date: Thu Sep 28 13:40:09 2017 +0800
可以看出現在的狀态在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的送出上(有 HEAD -> master 标記)。
————————————————
版權聲明:本文為CSDN部落客「白馬不是馬」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/kuodannie1668/article/details/91383496