在使用任何版本管理系统(如 Git 或 SVN)时,通常需要主动排除那些与源代码无关的文件。例如,集成开发环境(IDE)生成的特定配置文件(如
Eclipse 的 .settings.classpath.project,或 IntelliJ IDEA 的 .iml.idea 等目录),以及项目构建工具(如 Maven 或
Gradle)编译后产生的输出目录(例如 targetbuild/classes)。

若将这类本地化、临时性的文件提交至中央代码仓库,不仅会迫使其他协作者在每次更新时同步下载这些无关内容,还可能干扰他们的本地环境配置,造成不必要的混乱。

本文主要面向 Git 用户,阐述文件忽略机制的核心要点。

.gitignore 配置文件解析

在 Git 中,.gitignore 是一个专门用于定义文件忽略规则的配置文件。只需将其置于项目的根目录下,Git
便会自动忽略其中列出的所有文件与目录,使其不会进入版本跟踪流程。需要注意的是,.gitignore 文件本身应当被 Git
管理(即纳入版本控制),而不应被忽略。

因此,如果您发现某些文件无法被正常跟踪,可以使用以下指令来检查它们是否已被 .gitignore 规则匹配:

$ git check-ignore .git
.git

某些特殊情况下,如果您坚持要提交一个已被忽略的文件,可以通过 -f 参数强制添加:

git add -f javastack.cn

有关 .gitignore 文件的更多语法细节与高级用法,请参阅 Git 官方手册。

https://git-scm.com/docs/gitignore

现成的忽略配置模板

GitHub 官方维护了一个针对不同编程语言和开发环境的 .gitignore 模板合集,为项目初始配置提供了极大便利。

模板库地址:https://github.com/github/gitignore

上图展示的是针对 Java 项目的模板示例。然而,该模板内容相对基础,并未覆盖实际开发中可能需要忽略的所有文件类型,用户往往需要根据自身项目情况进一步补充规则。