git忽略文件
2012-05-15 15:00:51| 分类:
Ubuntu
|举报
|字号 订阅
一、git忽略文件有三种: 1、全局范围内有效的忽略文件就是"版本库根目录/.git/info/exclude",全局范围内的所有忽略规则都以行为单位写在这个文件中; 2、局部范围内有效的忽略文件就是.gitignore,这个忽略文件只对某一级目录下的文件的忽略有效;如果某一个目录下有需要被忽略的文件,那么就可以在该目录下手工地创建忽略文件.gitignore,并在这个忽略文件中写上忽略规则,以行为单位,一条规则占据一行;比较特殊的情况就是在版本库的根目录下创建一个忽略文件.gitignore,这时,这个.gitignore忽略文件就对版本库根目录下的文件有效,等价于全局范围内的忽略文件.git/info/exclude; 3、手工指定一个忽略文件,该忽略文件中的规则和语法与前两种是一致的,随便哪一级目录都可以,只要加上对应的路径即可; 手工指定忽略文件的命令是: git config --global core.excludesfile /path/to/.gitignore 然后手工地在对应位置创建忽略文件.gitignore,并在该文件中写入忽略规则即可; 备注: 这三种范围级别的忽略文件的内容格式和语法都是一致的; 二、忽略文件规则: 忽略规则是对文件名有效的; A: 空行或#号开始的行,会被忽略; B: 可以使用通配符: * 任意字符; 单个字符; [abc] 多种可能的字符a、b或c; [a-z0-9] 表示在某个范围内进行匹配; \ 转义字符; ! 表示取反(不忽略),写在某条规则的前面; C: 路径分隔符"/";如果"/"后面的名称是个目录,则该目录以及该目录下的所有文件都会被忽略;如果"/"后面的名称是个文件,则该文件不会被忽略; 例如: /name 如果name是个目录,则目录name和name下的所有文件都会被忽略;如果name是个文件,则该文件不会被忽略; D: .gitignore文件也可以忽略自己,只要把自己的名字写进来即可; E: 一条(行)忽略规则只对某一个目录下的文件有效,而对该目录下的子目录中的文件无效; F: 一条(行)忽略规则也可以只对单个文件有效(忽略单个指定的文件); 例如: *.a #忽略所有以.a为后缀的文件; !lib.a #不忽略文件lib.a; /TODO #只忽略此目录下TODO文件,子目录的TODO不被忽略; build/ #忽略build目录下的所有文件; doc/*.txt #只忽略doc/下所有的txt文件,但是不忽略doc/subdir/下的txt文件;
|