開發過程中,有些檔案不想也不應該放在 git 裡面一起備份,例如:密碼、大型的預訓練模型或者一些編譯過程所產生的的暫存檔…等。
這時可以設定忽略的規則來過濾上傳的文件。
新增過濾腳本
如果有不想放進去的檔案,只需要可以在專案中的 .gitignore
設置忽略規則即可。
檔案不存在?那就新增它吧!
1 |
|
內容寫法
有了檔案就可以開始編輯內容了:
1 |
|
如果你是全新專案或者剛開始編輯 .gitignore
,可以考慮直接用 github 的模板,至少一些基本的都可以過濾掉,之後再加上你自己的客製化就好。
例如,我會進一步過濾掉下列文件與資料夾:
1 |
|
基本上語法跟 Regular Expression 相似,不清楚的可以查查這篇網誌,這篇網誌可是我 Regular Expression 的入門呢,至於我自己的筆記?還躺在草稿夾呢
-
#
: 表註解 -
/
結尾:表目錄 -
*
: 表示匹配 0 或多個字元 -
?
: 表示匹配 0 或 1 個字元 -
[]
: 表示匹配中括弧內的任一個字元 -
!
: 則是用來表示追蹤特定文件,有可能在前面規則中過濾掉了某個資料夾,但該資料夾下某個文件卻是要追蹤的,就可以用!
過濾已追蹤的檔案
.gitignore
的過濾效果只會在 Untracked 的檔案上顯示效果,若你這檔案已經列入版本控制,也就是之前被 commit 過了,則不受 .gitignore
檔案控制。
如果想讓這已經列管的檔案被忽略,可以先解除版制的追踪
1 |
|
然後再 commit 忽略掉這檔案。
相關文章
忽然發現我之前寫過 【Git】取消追蹤檔案 。
參考資料
- Fleschier (2018-10-30)。gitignore的使用及写法 。檢自 Fleschier 渐寒๑ (2020-07-21)。
- 高見龍。【狀況題】有些檔案我不想放在 Git 裡面… 。檢自 為你自己學 Git (2020-07-21)。
- github。A collection of useful .gitignore templates 。檢自 gitignore (2020-07-21)。
更新紀錄
最後更新日期:2020-09-06
- 2020-09-06 發布
- 2020-08-24 完稿
- 2020-07-21 起稿