Skip to main content

Git Ignore 的幾種做法

·77 words·1 min
Tech Git
Author
Ian Chiu

前言
#

在開發專案時,我們常常需要忽略一些不需要被版本控制的檔案,例如編譯後的輸出、個人設定檔或除錯檔案等等。Git 提供了彈性的 Ignore 機制,這篇文章紀錄一下三種常見的 Ignore 作法 d(`・∀・)b


1. 一般的 .gitignore 檔案
#

最常見的做法就是在專案根目錄放一個 .gitignore 檔案,裡面列出要忽略的檔案或目錄規則。

  • .gitignore 檔案會被加入版本控制,其他開發者拉取專案時也會套用相同的忽略規則。
  • 適合團隊共同維護的忽略設定,例如 node_modules/*.logdist/ 等。

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 我真的覺得很奇怪 -`д´-
所以特別研究了一下只設定在自己電腦上的方式,這方法超讚 ヽ(●´∀`●)ノ