知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

git忽略文件

发布时间:2014-09-05 14:57:15作者:知识屋

git忽略文件
 
一、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文件;
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜