git丟棄本地修改的所有文件(新增、刪除、修改)
一,未使用 git add 緩存代碼時。
可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘記中間的 “--” ,不寫就成了檢出分支了??!)。放棄所有的文件修改可以使用 git checkout . 命令。
此命令用來放棄掉所有還沒有加入到緩存區(qū)(就是 git add 命令)的修改:內(nèi)容修改與整個文件刪除。但是此命令不會刪除掉剛新建的文件。因為剛新建的文件還沒已有加入到 git 的管理系統(tǒng)中。所以對于git是未知的。自己手動刪除就好了。
二,已經(jīng)使用了 git add 緩存了代碼。
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)來放棄指定文件的緩存,放棄所以的緩存可以使用 git reset HEAD . 命令。
此命令用來清除 git 對于文件修改的緩存。相當(dāng)于撤銷 git add 命令所在的工作。在使用本命令后,本地的修改并不會消失,而是回到了如(一)所示的狀態(tài)。繼續(xù)用(一)中的操作,就可以放棄本地的修改。
三,已經(jīng)用 git commit 提交了代碼。
可以使用 git reset --hard HEAD^ 來回退到上一次commit的狀態(tài)。此命令可以用來回退到任意版本:git reset --hard commitid
你可以使用 git log 命令來查看git的提交歷史。git log 的輸出如下,之一這里可以看到第一行就是 commitid:
commit cf0d692e982d8e372a07aaa6901c395eec73e356 (HEAD -> master) Author: toyflivver <2440659688@qq.com> Date: Thu Sep 28 14:07:14 2017 +0800 多余的空行 commit 14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff Author: toyflivver <2440659688@qq.com> Date: Thu Sep 28 14:06:44 2017 +0800 正常的代碼 commit da3a95c84b6a92934ee30b6728e258bcda75f276 Author: toyflivver <2440659688@qq.com> Date: Thu Sep 28 13:58:12 2017 +0800 qbf commit 267466352079296520320991a75321485224d6c6 Author: toyflivver <2440659688@qq.com> Date: Thu Sep 28 13:40:09 2017 +0800 qbf
可以看出現(xiàn)在的狀態(tài)在 commitid 為 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 標(biāo)記)。
本地修改了許多文件,其中有些是新增的,因為開發(fā)需要這些都不要了,想要丟棄掉,可以使用如下命令:
git checkout . #本地所有修改的。沒有的提交的,都返回到原來的狀態(tài) git stash #把所有沒有提交的修改暫存到stash里面??捎胓it stash pop回復(fù)。 git reset --hard HASH #返回到某個節(jié)點,不保留修改,已有的改動會丟失。 git reset --soft HASH #返回到某個節(jié)點, 保留修改,已有的改動會保留,在未提交中,git status或git diff可看。 git clean -df #返回到某個節(jié)點,(未跟蹤文件的刪除) git clean 參數(shù) -n 不實際刪除,只是進行演練,展示將要進行的操作,有哪些文件將要被刪除。(可先使用該命令參數(shù),然后再決定是否執(zhí)行) -f 刪除文件 -i 顯示將要刪除的文件 -d 遞歸刪除目錄及文件(未跟蹤的) -q 僅顯示錯誤,成功刪除的文件不顯示
注:
git reset 刪除的是已跟蹤的文件,將已commit的回退。 git clean 刪除的是未跟蹤的文件
也可以使用:
git clean -nxdf(查看要刪除的文件及目錄,確認無誤后再使用下面的命令進行刪除) git checkout . && git clean -xdf
到此這篇關(guān)于git丟棄本地修改的所有文件(新增、刪除、修改)的文章就介紹到這了,更多相關(guān)git丟棄本地修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Postman和SoapUI工具測試WebService接口
這篇文章介紹了使用Postman和SoapUI工具測試WebService接口的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06gitlab自動定時備份文件備份失敗發(fā)送郵件功能實現(xiàn)
為預(yù)防gitlab出現(xiàn)故障,每天定時備份,備份完成后把之前的備份文件刪除,備份成功或失敗的時候自動發(fā)送郵件提醒,這里的gitlab為docker部署,對gitlab自動定時備份文件相關(guān)操作感興趣的朋友一起看看吧2024-06-06使用 Conditional Menus 插件讓 WordPress 在不同頁面顯示不同菜單
這篇文章主要介紹了如何使WordPress在不同頁面顯示不同菜單2021-09-09關(guān)于代碼閱讀問題的小技巧 腳本之家原創(chuàng)(適合所有網(wǎng)站)不定時更新
因為很多網(wǎng)站為了網(wǎng)站的安全,特將一些字符替換成中文字符,導(dǎo)致很多情況下,代碼無法運行,或復(fù)制內(nèi)容的適合都是一行顯示,這里將會為大家整理一些。2011-01-01