天天看點

Git 撤銷放棄本地修改

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