Git忽略规则:.gitignore配置

在日常的开发中,当我们需要将一个项目提交到Git时,并不是所有的文件都需要提交,比如一些自动生成的文件,这时候就可以使用.gitignore来忽略一些不需要提交的文件,本文着重介绍一下.gitignore的配置语法。

1. .gitignore文件

一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。这样,被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。

需要注意的是如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。因此一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。

.gitignore配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为版本管理带来很大的便利

2. 配置规则

  • 空行或是以#开头的行为注释;
  • 前面添加正斜杠/避免递归;
  • 后面添加正斜杠/忽略目录;
  • *匹配零个或多个字符;
  • ?匹配单个字符;
  • []匹配括号内的任一字符;
  • !表示不忽略(跟踪)匹配到的文件或目录;

下面我们看一些例子来理解上面的规则:

3. 注意事项

  1. 配置文件的完整文件名就是".gitignore",注意最前面有个“.”;
  2. 配置文件是按行从上到下进行规则匹配的,如果前面的规则匹配的范围更大,则后面的规则将不会生效;
  3. 该文件只能作用于Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件);
  4. 如果文件曾经被 Git 记录过,那么.gitignore就对它们完全无效;

4. 配置样例

下面给出一个以Python开发为例的配置文件样例,更多配置请参考GitHub上gitignore仓库

 

weinxin
我的微信
扫一扫加我微信
echo

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: