跳到主要内容

.gitignore设置 git忽略跟踪文件和文件夹

· 阅读需 2 分钟
一介布衣
全栈开发者

出自linux之父的强大代码管理工具 git 不用多说,使用起来也相当顺手,对于有些资源我们不想跟踪或者某一类资源,该如何屏蔽掉,这就要使用到了 .gitignore 文件.

应用场景:

1)或略根据,避免提交到代码库的文件或者目录

2)指定跟踪,跟踪某一个文件

配置语法:

1)以“/”开头表示目录;

2)以“?”通配单个字符

3)以“*”通配多个字符;

4)以方括号“[]”包含单个字符的匹配列表;

5)以叹号“!”跟踪某个文件或目录;

git 对于 .gitignore 配置文件是按行从上到下进行规则匹配的,如果前面的规则匹配的范围更大,则后面的规则将不会生效;

2、示例:

规则:.DBStore/*

说明:忽略目录 .DBStore 下的全部内容;注意,不管是根目录下的 /.DBStore/ 目录,还是某个子目录 /lib/.DBStore/ 目录,都会被忽略;

规则:/upload/*

说明:忽略根目录下的 /upload/ 目录的全部内容;

规则:!.gitignore

跟踪 .gitignore 文件

说明:忽略全部内容,但是不忽略 .gitignore 文件

为什么 .gitignore 总是容易配错

因为很多人第一次接触时,会把“忽略未跟踪文件”和“停止跟踪已提交文件”混为一谈。实际上 .gitignore 主要影响的是尚未被 Git 跟踪的内容,如果某个文件已经进过版本库,仅仅把它写进 .gitignore 并不会自动消失。

一个更实用的理解方式

你可以把 .gitignore 当成“告诉 Git 哪些新内容以后不要再盯着看”。对日志、构建产物、临时缓存、系统文件这类内容尤其有价值。只要把这个边界理解清楚,后续仓库状态就会清爽很多,也不容易把无关文件带进提交记录里。