git 丟棄、刪除、移除本地的修改

case1:丟棄未使用 git add 緩存的代碼

如果你想丟棄所有修改(包括已跟蹤和未跟蹤的文件),可以組合使用下列命令:
git checkout -- .
git clean -fd

#1-常見的方式 沒有生效
git checkout -- file #放棄某個文件
git checkout .        #放棄所有

#2-組合方式, #有效
#2.1
git checkout . #放棄所有
git clean -xdf  #刪除未被跟蹤untracked的文件

#2.2
git reset --hard #回退到上一次commit的節(jié)點,不保留修改,已有的改動會丟失
git clean -xdf    #刪除未被跟蹤untracked的文件

說明

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 參數(shù)
    -q, --quiet           do not print names of files removed
    -n, --dry-run         dry run
    -f, --force           force
    -i, --interactive     interactive cleaning
    -d                    remove whole directories
    -e, --exclude <pattern>
                          add <pattern> to ignore rules
    -x                    remove ignored files, too 也刪除被忽略的文件
    -X                    remove only ignored files 僅刪除被忽略的文件

【說明】:
    -n 不實際刪除,只是進行演練,展示將要進行的操作,有哪些文件將要被刪除。(可先使用該命令參數(shù),然后再決定是否執(zhí)行)
    -f 刪除文件
    -i 顯示將要刪除的文件
    -d 遞歸刪除目錄及文件(未跟蹤的)
    -q 僅顯示錯誤,成功刪除的文件不顯示
    -x 不管是否是.gitignore文件里指定的文件夾和文件,都執(zhí)行相關(guān)操作

【 -x 】實例:
git clean -f   #刪除當前目錄下所有沒有track過的文件,不會刪除.gitignore文件里指定的文件夾和文件, 不管這些文件有沒有被track過
git clean -xf  #刪除當前目錄下所有沒有track過的文件, 不管是否是.gitignore文件里指定的文件夾和文件

git clean -df #返回到某個節(jié)點,(未跟蹤文件的刪除)

【注意】:
git reset 刪除的是已跟蹤的文件,將已commit的回退
git clean 刪除的是未跟蹤的文件

SourceTree

  1. 頻繁彈出輸入密碼頁面,在終端輸入以下命令,重新登錄即可解決:
    git config --global credential.helper osxkeychain
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容