忽略已提交到 Git 儲存庫的檔案

如果你已經將檔案新增到 Git 儲存庫並且現在想要停止跟蹤它 (以便在將來的提交中不會出現它),你可以將其從索引中刪除:

git rm --cached <file>

這將從儲存庫中刪除該檔案,並防止 Git 跟蹤進一步的更改。--cached 選項將確保檔案未被物理刪除。

請注意,以前新增的檔案內容仍將通過 Git 歷史記錄顯示。

請記住,如果從索引中刪除檔案後其他人從儲存庫中提取,則會以物理方式刪除其副本

你可以讓 Git 假裝檔案的工作目錄版本是最新的,並使用“ skip worktree ”位讀取索引版本(因此忽略其中的更改) :

git update-index --skip-worktree <file>

寫入不受此位的影響,內容安全仍然是第一優先。你永遠不會失去寶貴的被忽視的變化; 另一方面,這個位與儲存衝突:刪除這個位,使用

git update-index --no-skip-worktree <file>

有時錯誤地建議欺騙 Git,並假設檔案未經檢查而保持不變。它首先看一眼忽略對檔案的任何進一步更改,而不將其從索引中刪除:

git update-index --assume-unchanged <file>

這將強制 git 忽略檔案中所做的任何更改(請記住,如果你對此檔案進行任何更改,或者儲存它,則忽略的更改將丟失

如果你想讓 git 再次關心這個檔案,請執行以下命令:

git update-index --no-assume-unchanged <file>