未跟蹤的檔案會把你的Git工作樹弄得亂七八糟。有時,這些未跟蹤的檔案可能是文字或其他您不想在遠端儲存庫中使用的檔案,也可能是在轉移提交後以某種方式錯誤建立的檔案。
不管是什麼情況,清理Git工作樹來刪除這些檔案總是有幫助的。
如果您更新了專案中的一些現有檔案,並且在本地添加了新檔案,並且希望將更新推送到GitHub上的遠端儲存庫,Git要求您將這些更改階段化以提交。
僅對已提交的現有檔案進行更新並不能將其從跟蹤檔案中刪除。
當您為提交階段更新時,新檔案也會被暫存,Git將它們新增到跟蹤檔案中。但是,在提交階段之後新增到專案中的新檔案不會被跟蹤。
這些檔案可以是不重要的,也可以是臨時使用的遺留檔案,也可以是合併或推動某些更改後以某種方式出現的檔案。因此,這些未跟蹤的檔案仍然隱藏在您的工作樹中,當您執行git status時,git將它們作為未跟蹤檔案返回。
您可以透過清理Git工作樹來刪除這些檔案。否則,如果您仍然認為在本地需要它們,可以將它們新增到.gitignore檔案中。新增到.gitignore的檔案不會受到清理的影響,如果您決定包含這些檔案,則不會受到影響。
清理Git就像本地或遠端刪除Git分支一樣簡單。下面讓我們看看清理Git以刪除未跟蹤檔案或資料夾的各種方法。
在刪除未跟蹤的檔案之前,應該仔細檢查以確保要刪除它們。為此,請執行以下程式碼:
git clean -d -n該命令返回Git將從工作樹中刪除的所有未跟蹤資料夾和檔案。
要刪除這些檔案和目錄,請執行:
git clean -d -f要僅刪除檔案而不刪除資料夾,請使用:
git clean -f儘管上述方法不會刪除.gitinore中列出的檔案,但您也可以使用下面的命令清除.gitinore檔案中列出的專案:
git clean -fx要僅刪除忽略的檔案而不包括其他檔案,請將小寫“x”更改為大寫“x”:
git clean -fX要檢查工作樹中是否仍有未分級的檔案,請執行以下命令:
git status您還可以透過以下方式互動清理Git:
git clean -i要在互動式清理模式下將檔案包含在.gitignore中,請使用:
git clean -ix要僅使用互動模式清除.gitignore中列出的檔案,請執行以下命令。確保這次使用大寫“X”:
git clean -ifX一旦進入互動模式,就可以選擇按數字或字串模式過濾檔案。您還可以選擇ask if選項,在刪除每個檔案之前對其進行雙重檢查。如果願意,可以選擇“清除”選項直接刪除檔案。
執行git status會提供當前的暫存資訊,如果有任何未暫存的檔案或資料夾,它也會讓您知道。
但是,在檢查Git狀態之後,如果以前刪除的檔案仍然顯示在untracked files部分下,那麼應該清除Git快取。然後再次執行git clean刪除檔案。
相關:如何使用GitHub桌面克隆儲存庫
清除Git快取:
git rm -r --cached [filename]如果清理Git後仍有多個檔案出現,請使用以下命令清除每個檔案的Git快取:
git rm -r --cached [filename1] [filename2] [filename3]...但是,請確保為每個檔案添加了副檔名,並記住再次清除Git以刪除它們。
有時候,你想在下一次離開一個專案之前把Git工作樹中的東西整理一下。然後,您可能會推送或合併您對專案所做的最後更改,以確保您可以從下次停止的地方完全恢復。
但是,在推送或合併時,儲存庫中不需要的某些檔案可能會錯誤地登入。
如果未能檢查並刪除這些檔案,可能會破壞遠端儲存庫,因為在下次更新遠端儲存庫時會推送這些檔案。除此之外,當部署到像Heroku這樣使用git進行部署的平臺時,這些檔案可能會破壞一些東西。
所以:保持你的**乾淨!
... 在下面的小節中,我們將為一個非常重要的專案逐一介紹這些步驟:本文。我們將使用Git的命令列版本來實現這一點。瞭解終端命令可以很容易地找到它們的GUI等價物,並保證您可以在每個平臺上使用它。 ...
... 下面是你現在應該考慮影印的五份。(恢復受感染的計算機並不是livecd和USB驅動器的唯一好處!) ...
...項卡。選中安全模式旁邊的複選框。如果需要聯網,請從下面選擇它。一旦您點選Apply,然後關閉System Configuration(系統配置)視窗,您將收到重新啟動系統的提示。(注意,除非取消選中系統配置選項,否則系統將持續引導到...
...ffice檔案、Java存檔、ZIP、XML、PDF等。說到這裡,我們已經介紹瞭如何使用其他方法比較兩個Excel檔案。 ...
...解除安裝Flash之前,您需要在Flash設定中取消Mac的授權。下面是您如何做到這一點: ...