注意忽略只对未跟踪文件有效,对于已加入版本库的文件无效。
一、三级忽略文件
1. 版本库共享式忽略文件
版本库中目录下的.gitignore文件作用于整个目录及子目录,会随着该版本库同其他人共享。
2. 本地的针对具体版本库的独享式忽略文件
即在版本库.git目录下的文件info/exclude中设置文件忽略
3. 本地的全局的独享式忽略文件
通过Git的配置变量core.excludesfile指定的一个忽略文件(指定文件名),其设置的忽略对所有本地版本库均有效。设置方法如下(文件名可以任意设置):
git config --global core.excludesfile ~/.gitignore
二、关于Git的忽略文件的语法规则
- 忽略文件中的空行或以井号(#)开始的行将会被忽略。
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
示例:
# 这是注释行,将被忽略
*.a # 忽略所有以.a为扩展名的文件
!lib.a # 但是名为lib.a的文件或目录不要忽略,即使前面设置了对*.a的忽略
/TODO # 只忽略此目录下的TODO文件,子目录中的TODO文件不忽略
build/ # 忽略所有build目录下的文件,但如果是名为build的文件则不忽略
doc/*.txt # 忽略文件如doc/notes.txt,但是文件如doc/server/arch.txt不忽略
|