工具介绍
- .gitignore 简介
git 是流行的版本管理软件(另一种常用的版本管理软件是 SVN),通常在团队协同工作时使用(如:项目开发、协同翻译、合作编写等场景)。我们在使用 git 的过程中,总会有一些文件无需 git 管理,也不希望它们出现在 Untracked files(即未跟踪文件列表)里面。基于这种情况,.gitignore 由此诞生。
.gitignore 文件,是 git 软件用来排除(忽略)那些无需纳入版本管理的配置文件。在 .gitignore 文件中,根据项目需要,会制定若干忽略规则,git 将根据这些规则来排除要忽略的项目文件。这些文件一般是 IDE 自动生成的项目配置、系统自动产生的日志文件、临时文件、缓存以及编译器产生的中间文件等。
.gitignore 生成工具,是一款可以为你的项目创建 .gitignore 文件的在线工具。
下图是开发 Java 项目时,使用的忽略规则:
.gitignore 文件规范
1、格式规范
- .gitignore 支持注释,注释以
#
符号开头 - 所有空行都会被 git 忽略
- 可以使用标准的 glob 模式匹配,即正则匹配
- 匹配模式的最后如果是斜杠
/
,则说明要忽略的是目录 - 要忽略指定模式以外的文件或目录,可以在模式前加上感叹号
!
,表示取反
2、支持的正则表达式符号
*
星号可以匹配零个或多个字符[]
匹配任何一个出现在中括号中的字符,如[ab]
匹配字符 a 或者字符 b?
问号匹配 0 个或 1 个任意字符[n-m]
表示范围匹配,如[0-9]
表示匹配所有 0 到 9 的数字
常见示例
.DS_Store
:忽略所有 .DS_Store 文件(如果你用的是 Macbook,应该对这个文件很熟悉).idea/*
:忽略 .idea 文件夹下所有文件及文件夹(这是 Jetbrains IDE 自动生成的文件)/sitemap.xml
:忽略根目录下的 sitemap.xml 文件(注意最开头的/
斜杠)/vendor/
:忽略根目录下 vendor 文件夹下所有子文件夹和文件(注意开头和结尾的/
斜杠)*.class
:忽略所有后缀为 .class 的文件!/classes/base.class
:不忽略 classes 目录下的 base.class 文件*/cache/
:忽略所有 cache 文件夹的内容,包括 /cache、foo/cache、foo/bar/cache 等temp/*.jpg
:忽略 temp 目录下所有 .jpg 文件
更多关于 .gitignore 文件的用法和说明,请参考《详解 .gitignore 忽略文件》一文。
希望这款便利的工具在团队协作上给你带来帮助。