Git
英文 ▾ 主題 ▾ 最新版本 ▾ git-clean 最後更新於 2.45.0

名稱

git-clean - 從工作樹中移除未追蹤的檔案

概要

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>…​]

描述

從目前目錄開始,遞迴地移除工作樹中未受版本控制的檔案,以清理工作樹。

通常,只會移除 Git 不知道的檔案,但如果指定 -x 選項,則也會移除忽略的檔案。例如,這可以用來移除所有建置產生的檔案。

如果給定任何可選的 <pathspec>... 引數,則只會影響符合路徑規格的路徑。

選項

-d

通常,當沒有指定 <pathspec> 時,git clean 不會遞迴到未追蹤的目錄中,以避免移除太多檔案。指定 -d 可以讓它也遞迴到這類目錄中。如果指定了 <pathspec>,則 -d 不相關;所有符合指定路徑的未追蹤檔案(不包括 --force 中提及的巢狀 git 目錄)都會被移除。

-f
--force

如果 Git 配置變數 clean.requireForce 未設定為 false,則除非給定 -f,否則 *git clean* 會拒絕刪除檔案或目錄。除非給定第二個 -f,否則 Git 會拒絕修改未追蹤的巢狀 git 儲存庫(帶有 .git 子目錄的目錄)。

-i
--interactive

顯示將會執行的動作,並以互動方式清理檔案。詳情請參閱「互動模式」。配置變數 clean.requireForce 會被忽略,因為此模式透過互動方式提供自己的安全保護。

-n
--dry-run

實際上不移除任何東西,只顯示將會執行的動作。配置變數 clean.requireForce 會被忽略,因為無論如何都不會刪除任何東西。

-q
--quiet

保持安靜,只報告錯誤,不報告成功移除的檔案。

-e <pattern>
--exclude=<pattern>

除了標準的忽略規則外,還使用給定的排除模式(請參閱 gitignore[5])。

-x

不使用標準的忽略規則(請參閱 gitignore[5]),但仍然使用從命令列中給定的 -e 選項中的忽略規則。這樣就可以移除所有未追蹤的檔案,包括建置產生的檔案。這可以用於(可能與 *git restore* 或 *git reset* 結合使用)建立一個原始的工作目錄,以測試乾淨的建置。

-X

只移除 Git 忽略的檔案。這可能用於從頭開始重建所有內容,但保留手動建立的檔案。

互動模式

當命令進入互動模式時,會顯示要清理的檔案和目錄,並進入其互動式命令迴圈。

命令迴圈會顯示可用的子命令列表,並顯示提示「What now>」。通常,當提示以單個 *>* 結尾時,您可以只選擇其中一個選項並輸入 return,如下所示

    *** Commands ***
	1: clean                2: filter by pattern    3: select by numbers
	4: ask each             5: quit                 6: help
    What now> 1

您也可以說上面的 cclean,只要選擇是唯一的即可。

主要命令迴圈有 6 個子命令。

clean

開始清理檔案和目錄,然後退出。

filter by pattern

這會顯示要刪除的檔案和目錄,並發出「Input ignore patterns>>」提示。您可以輸入以空格分隔的模式,以將檔案和目錄從刪除中排除。例如,「*.c *.h」會將以「.c」和「.h」結尾的檔案從刪除中排除。當您對過濾後的結果感到滿意時,請按 ENTER 鍵(空白)回到主選單。

select by numbers

這會顯示要刪除的檔案和目錄,並發出「Select items to delete>>」提示。當提示像這樣以雙 *>>* 結尾時,您可以選擇多個選項,並以空白或逗號連接。您也可以說範圍。例如,「2-5 7,9」表示從列表中選擇 2、3、4、5、7、9。如果範圍中的第二個數字被省略,則會選取所有剩餘的項目。例如,「7-」表示從列表中選擇 7、8、9。您可以說 * 來選擇所有內容。此外,當您對過濾後的結果感到滿意時,請按 ENTER 鍵(空白)回到主選單。

ask each

這將開始清理,而且您必須逐一確認才能刪除項目。請注意,此動作不如上述兩個動作有效。

quit

這可讓您在不執行任何清理的情況下退出。

help

顯示互動式 git-clean 的簡短用法。

配置

此節中此行以下的內容是從 git-config[1] 文件中選擇性包含的。內容與那裡找到的內容相同

clean.requireForce

一個布林值,使 git-clean 拒絕刪除檔案,除非給定 -f。預設為 true。

另請參閱

GIT

屬於 git[1] 套件的一部分

scroll-to-top