2019年9月24日 星期二

如何在 git 中取消檔案的追蹤

做 Git 版控的時候常會遇到有些檔案只需要提交一次後,就不想再被版控持續追蹤(track),所以這篇就稍為記錄一下該怎麼忽略本地端曾經提交(commit)過的檔案。


方法一

先執行以下指令

$ git rm --cached <file>         # 單一檔案
$ git rm -r --cached <folder>    # 指定資料夾下的所有檔案

然後再把你要 ignore 的對象寫入 .gitignore 檔案裡,最後再執行以下指令

git commit -am "Modified .gitignore"

如果之後想要重新追蹤該檔案,只要重新執行以下指令並編輯 .gitignore 檔案即可

$ git add filename

方法二
這個方法一樣可以取消追蹤中的檔案,但這個比較像是暫時性的處裡,如果你有一些檔案只是暫時不想要被追蹤,可以先用這個方法移除,不過若檔案有在其它地方被更改過,則下次更新時狀態會被覆蓋掉而重新出現在追蹤列表上

執行以下指令

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

還原的方式為

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

總結
兩個方法都可以,但如果你是想要永久性的移除,使用方法一較好




參考資料

[Bunun Engineer's Blog] 在 git 中取消追蹤檔案

訪客統計

103345