1. 程式人生 > 程式設計 >git設定忽略檔案.gitignore的方法

git設定忽略檔案.gitignore的方法

在倉庫目錄下新建一個名為.gitignore的檔案(因為是點開頭,沒有檔名,沒辦法直接在windows目錄下直接建立,必須通過右鍵Git Bash,按照linux的方式來新建.gitignore檔案)。如下圖所示。

.gitignore檔案對其所在的目錄及所在目錄的全部子目錄均有效。通過將.gitignore檔案新增到倉庫,其他開發者更新該檔案到本地倉庫,以共享同一套忽略規則。

以下涉及的ignore檔案均為如下格式:

# 以'#'開始的行,被視為註釋.                          
# 忽略掉所有檔名是 foo.txt的檔案.

foo.txt

# 忽略所有生成的 html檔案,*.html

# foo.html是手工維護的,所以例外.

!foo.html

# 忽略所有.o和 .a檔案.

*.[oa]

配置語法:
以斜槓“/”開頭表示目錄;
以星號“*”通配多個字元;
以問號“?”通配單個字元
以方括號“[]”包含單個字元的匹配列表;
以歎號“!”表示不忽略(跟蹤)匹配到的檔案或目錄;

常用的規則:
1)/mtk/ 過濾整個資料夾
2)*.zip 過濾所有.zip檔案
3)/mtk/do.c 過濾某個具體檔案

被過濾掉的檔案就不會出現在git倉庫中(gitlab或github)了,當然本地庫中還有,只是push的時候不會上傳。
需要注意的是,gitignore還可以指定要將哪些檔案新增到版本管理中:
1)!*.zip
2)!/mtk/one.txt

唯一的區別就是規則開頭多了一個感嘆號,Git會將滿足這類規則的檔案新增到版本管理中。

為什麼要有兩種規則呢?想象一個場景:假如我們只需要管理/mtk/目錄中的one.txt檔案,這個目錄中的其他檔案都不需要管理,那麼我們就需要使用:
1)/mtk/
2)!/mtk/one.txt
假設我們只有過濾規則,而沒有新增規則,那麼我們就需要把/mtk/目錄下除了one.txt以外的所有檔案都寫出來!

最後需要強調的一點是,如果你不慎在建立.gitignore檔案之前就push了專案,那麼即使你在.gitignore檔案中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有檔案進行版本管理。
簡單來說,出現這種問題的原因就是Git已經開始管理這些檔案了,所以你無法再通過過濾規則過濾它們。因此一定要養成在專案開始就建立.gitignore檔案的習慣,否則一旦push,處理起來會非常麻煩。

到此這篇關於git設定忽略檔案.gitignore的方法的文章就介紹到這了,更多相關git 忽略檔案.gitignore內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!