
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 跟蹤分支
- Git - 變基
- Git - 變基與合併
- Git - 合併提交
- Git 操作
- Git - 克隆操作
- Git - 標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - Patch 操作
- Git - Diff 操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - checkout
- Git - revert
- Git - reset
- Git - 恢復操作
- Git - rm
- Git - switch 操作
- Git - cherry-pick
- Git - amend
- Git 伺服器
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 啞 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上獲取 Git
- Git - 設定伺服器
- Git - Daemon
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維持專案
- 自定義 Git
- Git - 配置
- Git - 鉤子
- Git - 屬性
- Git - init
- Git - commit
Git rm
git rm 命令用於從索引和工作樹中刪除特定檔案。透過這樣做,我們將檔案從專案中移除,並將其刪除操作暫存到下一次提交。
git rm 命令從 Git 索引以及(可選)工作目錄中刪除檔案。
要僅從工作目錄中刪除檔案(不影響索引),請使用其他命令,例如 /bin/rm。
預設情況下,git rm 要求檔案與分支的最新提交匹配,使用 -f 選項強制刪除與最新提交不匹配的檔案。
使用 git rm --cached 僅從索引中刪除檔案,將其保留在工作目錄中。
啟用稀疏檢出後,git rm 僅影響稀疏檢出模式中的檔案。
語法
git rm <file>…
git rm 用於刪除由 <file> 指定的檔案。
使用帶 -r 選項的目錄名可刪除目錄及其所有子目錄中的所有檔案。
雖然 git rm 'd*' 只針對給定目錄中的檔案,但檔案萬用字元匹配跨越目錄邊界,允許 git rm 'd*' 刪除多個目錄中的檔案。
選項
git rm 命令具有以下選項:
-f
--force
git rm -f <file>…
使用 git rm 時,-f 或 --force 選項會覆蓋預設檢查,該檢查在刪除之前驗證檔案是否為最新狀態。
-n
--dry-run
git rm -n <file>…
使用 git rm 時,-n 或 --dry-run 選項會模擬刪除過程,而無需實際刪除任何檔案。
因為它顯示將從索引中刪除哪些檔案,所以您可以在執行實際刪除之前檢查更改。
-r
--recursive
git rm -r <directory-name>…
當指定前導目錄名時,git rm 中的 -r 選項允許我們執行遞迴刪除,這將刪除目錄及其所有內容。
如果不存在此選項,git rm 將只刪除檔案,而不會進入子目錄。
--
git rm -- <file>
在 Git 中,可以使用 -- 選項將命令列引數與檔案或引數列表分開。
這在檔名可能被誤解為命令列選項的情況下特別有用,因為它確保任何後續引數都被視為檔案路徑而不是選項。
--cached
git rm --cached <file>
使用 git rm 時,可以使用 --cached 選項取消暫存檔案並僅從索引中刪除它們,而不會更改工作樹中的檔案。
無論它們是否被更改,這些檔案都將從暫存區刪除,但會保留在我們的本地目錄中。
--ignore-unmatch
git rm --ignore-unmatch <file>
當使用帶有 --ignore-unmatch 選項的 git rm 命令時,即使沒有檔案與提供的模式匹配,命令也會以零成功狀態終止。
當找不到匹配要求的檔案時,這有助於防止指令碼或任務中的錯誤。
--sparse
git rm --sparse <file>
對於稀疏檢出範圍之外的路徑,可以使用 git rm 中的 --sparse 選項修改索引條目。
使用 --sparse,git rm 將更新索引,即使對於未包含在稀疏檢出配置中的檔案也是如此,而通常情況下,它會將更改限制在稀疏檢出範圍內的檔案中。
-q
--quiet
git rm -q <file>
使用 git rm 時,-q 或 --quiet 選項會抑制列出每個正在刪除檔案的標準輸出。
選擇此選項時,程式會刪除檔案而不顯示每個檔案的詳細資訊。
因此,終端輸出變得不那麼混亂。
使用 git rm 命令後,必須提交更改才能最終從儲存庫歷史記錄中刪除檔案。
此外,在檔案具有未提交的更改時,使用 git rm -f 命令時必須非常小心,因為使用此命令後,這些更改將丟失。