基本介紹
Git 的 .gitignore
配置文件用於配置不需要加入到版本管理中的文件,比如說一個項目在開發的過程中項目的目錄里還會有一些本地的臨時文件,比如java開發中,idea項目會有.idea
文件夾,也會有target
文件夾這些,這些是我們代碼管理里所不需要的,但是又不可避免的存在
每次git status
都會顯示Untracked files ...
所以這個時候就可以通過配置.gitignore
來解決,這個文件默認放在項目的根目錄,為這個Git項目配置忽略列表,同時也可以通過命令配置本地全局的忽略列表
$git config –global core.excludesfile ~/.gitignore
創建文件
對於Windows用戶,如果你在資源管理器里新建一個.gitignore
文件,它會非常弱智地提示你必須輸入文件名,但是在文本編輯器里“保存”或者“另存為”就可以把文件保存為.gitignore
了。
也可以在git bash中 采用vim .gitignore
,然后編輯好之后:wq!
保存
語法規范
- 空行或是以
#
開頭的行即注釋行將被忽略; - 以斜杠
/
結尾表示目錄; - 以星號
*
通配多個字符; - 以問號
?
通配單個字符 - 以方括號
[]
包含單個字符的匹配列表;(比如說忽略Python編譯產生的.pyc
、.pyo
就可以寫*.py[co]
) - 以嘆號
!
表示不忽略(跟蹤)匹配到的文件或目錄;
可以在前面添加斜杠
/
來避免遞歸
比如/dir/
就是當前的dir文件夾,不包含子文件夾(例如/abc/efg/dir
)
而dir/
不僅僅是當前的文件夾也包括子文件夾(例如/abc/efg/dir
)
配置文件示例
# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 盡管已經在前面忽略了 .a 文件
!lib.a
# 僅在當前目錄下忽略 TODO 文件, 但不包括子目錄下的 subdir/TODO
/TODO
# 忽略 build/ 文件夾下的所有文件,包括子目錄下的subdir/build文件夾中的文件
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
配置文件模板
Github 上為開發者提供了各種環境以及各種編程語言的 gitignore 文件配置模板:https://github.com/github/gitignore