首頁 >開發工具 >Git >GIT 忽略文件 '.gitignore” 使用

GIT 忽略文件 '.gitignore” 使用

Guanhui
Guanhui轉載
2020-07-24 17:26:194819瀏覽

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      #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教學

以上是GIT 忽略文件 '.gitignore” 使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除