.gitignore配置 git 忽略文件配置

忽略文件

一般我們總會有些文件無需納入 Git 的管理,也不希望它們總出現在未跟蹤文件列表。 通常都是些自動生成的文件,比如日誌文件,或者編譯過程中創建的臨時文件等。 在這種情況下,我們可以創建一個名爲 .gitignore 的文件,列出要忽略的文件模式。

創建.gitignore文件

很多人恐怕在第一步就卡住了,比如“創建.gitignore文件”(因爲用我們常規的鼠標右鍵的方式是無法實現的)。
請打開你的Git Bash命令行工具,輸入以下命令:

  1. 創建.gitignore文件命令
$ touch .gitignore

注意:ls命令是查看不了.開頭的文件的,您需要用ls -a命令來查看上一步創建的.gitignore文件。

  1. 查看.gitignore文件
$ view .gitignore

當然,你也可以通過編輯器打開的方式來查看。


文件 .gitignore 的格式規範如下:
  • 所有空行或者以 開頭的行都會被 Git 忽略。
  • 可以使用標準的 glob 模式匹配。
  • 匹配模式可以以(/)開頭防止遞歸。
  • 匹配模式可以以(/)結尾指定目錄。
  • 要忽略指定模式以外的文件或目錄,可以在模式前加上驚歎號(!)取反。
glob 模式匹配規則:
  • * 匹配0或多個除了 / 以外的字符,注意不匹配以.開始的路徑,如文件.a
  • ?匹配單個除了 / 以外的字符
  • […] 匹配一系列字符,如[abc]匹配字符a, b, c
  • [^…][!…]表示匹配不在列表中的字符,如[^abc]匹配除了a, b, c以外的字符。
  • ** 匹配多個字符包括 /
  • {a,b} 匹配a或則b,a和b也是通配符,可以由其他通配符組成
  • !出現在規則的開頭,表示取反。即匹配不命中後面規則的文件
.gitignore 配置案例
#               “#”號表示此爲註釋,將被Git忽略
*.a             # 表示忽略所有 .a 結尾的文件
!lib.a          # 表示但lib.a除外
/TODO           # 表示僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/          # 表示忽略 build/目錄下的所有文件,過濾整個build文件夾;
doc/*.txt       # 表示會忽略doc/notes.txt但不包括 doc/server/arch.txt
 
bin/:           # 表示忽略當前路徑下的bin文件夾,該文件夾下的所有內容都會被忽略,不忽略 bin 文件
/bin:           # 表示忽略根目錄下的bin文件
/*.c:           # 表示忽略cat.c,不忽略 build/cat.c
debug/*.obj:    # 表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         # 表示忽略/foo,a/foo,a/b/foo等
a/**/b:         # 表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    # 表示不忽略bin目錄下的run.sh文件
*.log:          # 表示忽略所有 .log 文件
config.php:     # 表示忽略當前路徑的 config.php 文件
事實上我們可以去“扒”一個模板

GitHub 有一個十分詳細的針對數十種項目及語言的 .gitignore 文件列表,你可以在
https://github.com/github/gitignore 找到它。


歡迎點贊,謝謝關注:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章