1. 程式人生 > 其它 >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
Author: toyflivver <[email protected]>
Date: Thu Sep 28 14:06:44 2017 +0800

正常的程式碼

commit da3a95c84b6a92934ee30b6728e258bcda75f276
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:58:12 2017 +0800

qbf

commit 267466352079296520320991a75321485224d6c6
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:40:09 2017 +0800

qbf

可以看出現在的狀態在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 標記)。

 

 

如果在修改時發現修改錯誤,而要放棄本地修改時,

 

一,

未使用 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
Author: toyflivver <[email protected]>
Date: Thu Sep 28 14:06:44 2017 +0800

正常的程式碼

commit da3a95c84b6a92934ee30b6728e258bcda75f276
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:58:12 2017 +0800

qbf

commit 267466352079296520320991a75321485224d6c6
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:40:09 2017 +0800

qbf

可以看出現在的狀態在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 標記)。

 

 

如果在修改時發現修改錯誤,而要放棄本地修改時,

 

一,

未使用 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
Author: toyflivver <[email protected]>
Date: Thu Sep 28 14:06:44 2017 +0800

正常的程式碼

commit da3a95c84b6a92934ee30b6728e258bcda75f276
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:58:12 2017 +0800

qbf

commit 267466352079296520320991a75321485224d6c6
Author: toyflivver <[email protected]>
Date: Thu Sep 28 13:40:09 2017 +0800

qbf

可以看出現在的狀態在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 標記)。