前言 #
在開發專案時,我們常常需要忽略一些不需要被版本控制的檔案,例如編譯後的輸出、個人設定檔或除錯檔案等等。Git 提供了彈性的 Ignore 機制,這篇文章紀錄一下三種常見的 Ignore 作法 d(`・∀・)b
1. 一般的 .gitignore
檔案
#
最常見的做法就是在專案根目錄放一個 .gitignore
檔案,裡面列出要忽略的檔案或目錄規則。
.gitignore
檔案會被加入版本控制,其他開發者拉取專案時也會套用相同的忽略規則。- 適合團隊共同維護的忽略設定,例如
node_modules/
、*.log
、dist/
等。
2. 專案本地忽略:.git/info/exclude
#
當我們有一些臨時或個人化的檔案想忽略,但又不想動到專案的 .gitignore
時,就很適合使用 .git/info/exclude
檔案。
- 位置在每個 Git 倉庫的
.git/info/exclude
中,如果沒有可以自己建立。 - 規則寫法和
.gitignore
一樣。 - 只對目前倉庫本地有效,不會被提交到遠端,也不會影響其他協作者。
3. 全域忽略檔案(所有本地倉庫通用) #
如果我們有一些檔案在所有專案都想忽略(像是作業系統自動產生的檔案、編輯器設定、我很愛用的 *.sh script 等),可以設定全域忽略。
設定方式:
git config --global core.excludesfile ~/.gitignore_global
執行完後,在 ~/.gitignore_global
裡面加上你的忽略規則,就會對所有本地的 Git 專案生效。
- 規則寫法和 .gitignore 一樣。
- 會對所有倉庫本地有效,不會被提交到遠端,也不會影響其他協作者。
不太重要的閒聊 #
其實大多數情況下,都是跟協作者們講一下就可以放進 git ignore 裡。
不過像我常常會替自己寫一些小 script,例如 run.sh、migration.sh 之類的,這都太專屬於我自己用而已,特別加進去專案內的 git ignore 我真的覺得很奇怪 -`д´-
所以特別研究了一下只設定在自己電腦上的方式,這方法超讚 ヽ(●´∀`●)ノ