git-忽略指定文件git
软件版本:
操做系统:ubuntu10.04
内核版本:Linux version 2.6.32-36-generic
git 版本:git version 1.7.0.4ubuntu
目录:
1. 介绍
2. 全局与局部
2.1 全局
2.2 局部
3. 语法
4. 例子
5. 参考资料
ui
1. 介绍
spa
有些文件是咱们并不想加入也无需被添加到 Git 管理中,同时也不但愿他出如今未跟踪列表中。例如在编译过程当中生成的 o 文件。 “.gitignore” 文件能够达到这个效果。操作系统
2. 全局与局部
code
.gitignore 有全局和局部两种:server
2.1 全局blog
经过修改全局配置 git config 中的 excludesfile 指定全局忽略文件。
设置方法:it
$git config --global core.excludesfile ~/.gitignore
2.2 局部io
忽略文件默认为当前目录的 .gitignore ,但它只做用于当前目录下。上面说到,在全局的 .gitignore 文件中添加 *.o 会忽略全部目录下产生的 .o 文件,但在当前目录下的 .gitignore 中添加 *.o 却只能忽略当前目录下的 .o 文件。
3. 语法
.gitignore 的语法规范以下:
·全部空行或者以注释符号 # 开头的行都会被 Git 忽略;
·可使用标准的 glob 模式匹配。 * 匹配模式最后跟反斜杠(/
)说明要忽略的是目录。 * 要忽略指定模式之外的文件或目录,能够在模式前加上惊叹号(!
)取反。
glob 模式匹配:
·星号(*
)匹配零个或多个任意字符;
·[abc]
匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
·问号(?
)只匹配一个任意字符;
·[0-9a-zA-Z]
在方括号中使用短划线分隔两个字符,表示全部在这两个字符范围内的均可以匹配(好比 [0-9a-zA-Z]
表示匹配全部 0 到 9 的数字和全部字母);
·\ 转义字符。
注:理论上来讲,在要忽略的格式文件后面添加注释是容许的,但通过个人验证,结果发现这样子操做并不能达到预期的效果。
4. 例子
一个 .gitignore 例子。
# 此为注释 – 将被 Git 忽略
# 忽略全部 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的全部文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
5. 参考资料
[1] 《pro git》