Git忽略规则

注意忽略只对未跟踪文件有效,对于已加入版本库的文件无效。

一、三级忽略文件

1. 版本库共享式忽略文件

版本库中目录下的.gitignore文件作用于整个目录及子目录,会随着该版本库同其他人共享。

2. 本地的针对具体版本库的独享式忽略文件

即在版本库.git目录下的文件info/exclude中设置文件忽略

3. 本地的全局的独享式忽略文件

通过Git的配置变量core.excludesfile指定的一个忽略文件(指定文件名),其设置的忽略对所有本地版本库均有效。设置方法如下(文件名可以任意设置):

git config --global core.excludesfile ~/.gitignore

二、关于Git的忽略文件的语法规则

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

示例:

# 这是注释行,将被忽略
*.a       # 忽略所有以.a为扩展名的文件    
!lib.a    # 但是名为lib.a的文件或目录不要忽略,即使前面设置了对*.a的忽略
/TODO     # 只忽略此目录下的TODO文件,子目录中的TODO文件不忽略
build/    # 忽略所有build目录下的文件,但如果是名为build的文件则不忽略
doc/*.txt # 忽略文件如doc/notes.txt,但是文件如doc/server/arch.txt不忽略
posted @ 2013-03-26 11:58 qwertWZ 阅读(...) 评论(...) 编辑 收藏