Git忽略规则.gitignore梳理

一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
实际项目中,很多文件都是不需要版本管理的,.gitignore的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。

下面我们看看常用的规则:
1)/tmp/             忽略整个文件夹
2)*.zip             忽略所有.zip文件
3)/temp/a.php         忽略某个具体文件
4)*                 忽略所有文件

.gitignore还可以指定要将哪些文件添加到版本管理中:
1)!*.zip
2)!/tmp/one.txt


为什么要有两种规则呢?想象一个场景:假如我们只需要管理/tmp/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么我们就需要使用:
1)/tmp/
2)!/tmp/one.txt
假设我们只有忽略规则,而没有添加规则,那么我们就需要把/tmp/目录下除了one.txt以外的所有文件都写出来!

.gitignore配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为版本管理带来很大的便利,以下是对于配置.gitignore的一些心得记录:
1)配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

2)忽略文件的原则是:
1. 忽略操作系统自动生成的文件,比如缩略图等;
2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

3) 小例子:

/*
!.gitignore
!.htaccess
!.htaccess_apache2.4
!/admin_simpleboot3/
!/simpleboot3/
!/snow/

 

 

参考:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758404317281e54b6f5375640abbb11e67be4cd49e0000
https://www.cnblogs.com/kevingrace/p/5690241.html

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
JavaScript Global 对象
JavaScript 鼠标事件
WordPress 插件路径相关
Node.js dns 模块
WordPress 调用自定义头像
MySQL 批量插入数据时如何解决重复问题
Web 自定义组件
JavaScript URL 对象