Git語法之Checkout使用


情況一:未使用 git add 緩存代碼時:

請務必記得 git checkout -- <file> 是一個危險的命令。 你對那個文件在本地的任何修改都會消失——Git 會用最近提交的版本覆蓋掉它。 除非你確實清楚不想要對那個文件的本地修改了,否則請不要使用這個命令。

// 放棄單個文件修改,注意不要忘記中間的"--",不寫就成了檢出分支了!
git checkout -- filepathname
// 放棄所有的文件修改
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM