Git 中 .gitignore 语法
可以创建一个名为 .gitignore
的文件,列出要忽略的文件的模式。
文件 .gitignore
的格式规范如下:
- 所有空行或者以
#
开头的行都会被 Git 忽略。 - 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
- 匹配模式可以以(
/
)开头防止递归。 - 匹配模式可以以(
/
)结尾指定目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(
!
)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。
星号(
*
)匹配零个或多个任意字符[abc]
匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(
?
)只匹配一个任意字符如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如
[0-9]
表示匹配所有 0 到 9 的数字)使用两个星号(
**
)表示匹配任意中间目录,比如a/**/z
可以匹配a/z
、a/b/z
或a/b/c/z
1 | # 忽略所有的 .a 文件 |
一个仓库可能只根目录下有一个 .gitignore
文件,它递归地应用到整个仓库中。 然而,子目录下也可以有额外的
.gitignore
文件。子目录中的 .gitignore
文件中的规则只作用于它所在的目录中。
GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore
文件列表, 可以在 https://github.com/github/gitignore 找到它。