gitignore vs exclude
結論
- .gitignore
- 說明:顯式地阻止提交檔。
- 優勢:.gitignore 檔本身提交至遠端倉庫,全組共用忽略檔配置。
- 局限:如果專案已經存在遠程倉庫,即使被加入 .gitignore,仍然可以進行修改並提交。 本地的修改會顯示在 結果中。
git status
- .git/info/exclude
- 說明:顯式地阻止提交檔。
- 優勢:exclude 檔本身不會提交至遠端倉庫,因此適合放一些個人定製的 「gitignore」 專案。
- 局限:和 .gitignore 存在同樣地局限。 檔若已存在遠端倉庫,則本地修改仍可以提交至遠端倉庫。 本地的修改會顯示在 結果中。
git status
- assume-unchanged
- 說明:聲明本地遠端都不會修改這個檔。
- 優勢:git 直接跳過這些文件的處理以提升性能。 檔案不會出現在 。
git status
- 局限:不適合本地或遠端需要修改的檔。 本地會忽略掉之後遠端檔的修改。
- skip-worktree
- 說明:聲明忽略檔的本地修改。
- 優勢:本地可以對檔做一些個人定製。 檔案不會出現在 。
git status
- 局限:拉取遠端檔更新,或切換分支時有可能出現衝突,需要撤銷忽略後手動解決衝突。
參照
[Git] .gitignore 和.git/info/exclude 的区别 - 簡書 (jianshu.com)