Git忽略規則.gitignore梳理

工程根目錄下建立.gitignore文件,將要排除的文件或文件夾寫到.gitignore這個文件中。這種方式會讓這個工程的所有修改者在克隆代碼的同時,也能克隆到過濾規則,而不用自己再寫一份,這就能保證所有修改者應用的都是同一份規則,而不是張三自己有一套過濾規則,李四又使用另一套過濾規則,個人比較喜歡這個方式。.gitignore文件的規則如下:

規則說明:

一、配置語法:

  1. (#) 表示註釋
  2. (*)表示通配多個字符;

    *.html(忽略所有生成的 html文件)
  3. (?)通配單個字符;
  4. ([abc]) 代表可選字符範圍

    *.py[cod](忽略所有.pyc,.pyo.pyd的文件)
  5. (!)表示不忽略(跟蹤)匹配到的文件或目錄;
  6. 以斜槓“/”結尾表示目錄:

     TODO:忽略工程中所有名爲TODO文件和名爲TODO目錄
     TODO/:只忽略工程中名爲TODO目錄,不忽略名爲TODO文件
     TODO  , !TODO/ :只忽略工程中名爲TODO文件,不忽略名爲TODO文件夾

二、注意事項:

如果名稱最前面是路徑分隔符(/) (如:/TODO),表示僅僅忽略項目根目錄下的文件和文件夾/TODO,不包括子文件夾 subdir/TODO
如果名稱最前面無路徑分隔符 (/)(如:TODO),表示忽略項目所有目錄下的文件和文件夾/TODO,也就是包括subdir/TODO

如:

TODO:忽略工程中所有名爲TODO文件和名爲TODO文件夾
TODO/=TODO/*:只忽略工程中所有名爲TODO文件夾,但不忽略名爲TODO文件(注意,不管是根目錄下的 /TODO/ 文件夾,還是某個子目錄下的文件夾 subdir/TODO,都會被忽略;)
/TODO/=/TODO/*:只忽略項目根目錄下的 /TODO/文件夾,不包括子文件夾和名爲TODO的文件
*.a , !lib.a :忽略所有 .a 結尾的文件,但 lib.a 除外
build/ :忽略 build/ 目錄下的所有文件
doc/*.a:會忽略 doc/notes.a, 但不包括 doc/server/arch.a
發佈了31 篇原創文章 · 獲贊 175 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章