Git忽略规则.gitignore梳理

工程根目录下建立.gitignore文件,将要排除的文件或文件夹写到.gitignore这个文件中。这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一份规则,而不是张三自己有一套过滤规则,李四又使用另一套过滤规则,个人比较喜欢这个方式。.gitignore文件的规则如下:

规则说明:

一、配置语法:

  1. (#) 表示注释
  2. (*)表示通配多个字符;

    *.html(忽略所有生成的 html文件)
  3. (?)通配单个字符;
  4. ([abc]) 代表可选字符范围

    *.py[cod](忽略所有.pyc,.pyo.pyd的文件)
  5. (!)表示不忽略(跟踪)匹配到的文件或目录;
  6. 以斜杠“/”结尾表示目录:

     TODO:忽略工程中所有名为TODO文件和名为TODO目录
     TODO/:只忽略工程中名为TODO目录,不忽略名为TODO文件
     TODO  , !TODO/ :只忽略工程中名为TODO文件,不忽略名为TODO文件夹

二、注意事项:

如果名称最前面是路径分隔符(/) (如:/TODO),表示仅仅忽略项目根目录下的文件和文件夹/TODO,不包括子文件夹 subdir/TODO
如果名称最前面无路径分隔符 (/)(如:TODO),表示忽略项目所有目录下的文件和文件夹/TODO,也就是包括subdir/TODO

如:

TODO:忽略工程中所有名为TODO文件和名为TODO文件夹
TODO/=TODO/*:只忽略工程中所有名为TODO文件夹,但不忽略名为TODO文件(注意,不管是根目录下的 /TODO/ 文件夹,还是某个子目录下的文件夹 subdir/TODO,都会被忽略;)
/TODO/=/TODO/*:只忽略项目根目录下的 /TODO/文件夹,不包括子文件夹和名为TODO的文件
*.a , !lib.a :忽略所有 .a 结尾的文件,但 lib.a 除外
build/ :忽略 build/ 目录下的所有文件
doc/*.a:会忽略 doc/notes.a, 但不包括 doc/server/arch.a
发布了31 篇原创文章 · 获赞 175 · 访问量 28万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章