Git 如何放棄所有本地修改


git checkout .  #本地所有的修改,沒有提交的,都返回到原來的狀態
git stash  #把所有沒有提交的修改暫存到stash里面。可用git stash pop恢復。
git reset --hard HASH  #返回到某個節點,不保留修改。
git reset --soft HASH  #返回到某個節點,保留修改。
git log  #可以查看 git commit 的歷史記錄及其 HASH ID

git clean 的用法

git clean命令用來從你的工作目錄中刪除所有沒有track過的文件
git clean經常和git reset --hard一起使用. 記住reset只影響被track過的文件, 所以需要clean來刪除沒有track過的文件. 結合使用這兩個命令能讓你的工作目錄完全回到一個指定的 的狀態

git clean -n

是一次clean的演習, 告訴你哪些文件會被刪除. 記住它不會真正地刪除文件, 只是一個提醒。

git clean -f

刪除當前目錄下所有沒有track過的文件. 它不會刪除 .gitignore 文件里指定的文件夾和文件, 不管這些文件有沒有被track過

git clean -f <path>

刪除指定路徑下的沒有被track過的文件

git clean -df

刪除當前目錄下沒有被track過的文件和文件夾

git clean -xf

刪除當前目錄下所有沒有track過的文件. 不管它是否是 .gitignore 文件里面指定的文件夾和文件

git reset --hardgit clean -f 是一對好基友. 結合使用它們能讓你的工作目錄完全回退到最近一次commit的時候

git clean 對於剛編譯過的項目也非常有用. 如, 它能輕易刪除掉編譯后生成的 .o 和 .exe 等文件. 這個在打包要發布一個release的時候非常有用

下面的例子要刪除所有工作目錄下面的修改, 包括新添加的文件. 假設你已經提交了一些快照了, 而且做了一些新的開發

git reset --hard

git clean -df

運行后, 工作目錄和緩存區回到最近一次commit時候一摸一樣的狀態,git status會告訴你這是一個干凈的工作目錄, 又是一個新的開始了!


免責聲明!

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



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