配置git ignore

针对 Java 项目(特别是使用 Eclipse 开发时),以下是整理好的 .gitignore 标准模板及配置说明。你可以直接将其内容复制到项目根目录下的 .gitignore 文件中。

  1. 推荐 .gitignore 模板

gitignore

=======================

1. 编译产物 (Build Outputs)

=======================

*.class

*.jar

*.war

*.ear

*.nar

*.zip

*.tar.gz

*.rar

Maven 构建输出

/target/

pom.xml.tag

pom.xml.releaseBackup

pom.xml.versionsBackup

pom.xml.next

release.properties

dependency-reduced-pom.xml

buildNumber.properties

.mvn/timing.properties

.mvn/wrapper/maven-wrapper.jar

Gradle 构建输出

/build/

/.gradle/

gradle-app.setting

!gradle-wrapper.jar

=======================

2. IDE 配置文件 (Eclipse & Others)

=======================

Eclipse 核心元数据 (必须忽略,避免个人配置冲突)

.settings/

.classpath

.project

IntelliJ IDEA (如果团队混用 IDE,建议加上)

.idea/

*.iml

*.ipr

*.iws

out/

NetBeans

/nbproject/private/

/nbbuild/

/dist/

/nbdist/

/.nb-gradle/

VS Code

.vscode/

=======================

3. 日志与临时文件 (Logs & Temp)

=======================

*.log

logs/

*.tmp

*.swp

*~

$RECYCLE.BIN/

Thumbs.db

.DS_Store

=======================

4. 敏感配置与环境变量 (Sensitive Configs)

=======================

本地开发配置,包含数据库密码等敏感信息,严禁提交

application-local.yml

application-dev.properties

.env

.env.local

*.key

*.pem

=======================

5. 其他常见忽略项

=======================

Spring Boot 特定

HELP.md

!.mvn/wrapper/maven-wrapper.jar

!‌**/src/main/**‌/target/

!‌**/src/test/**‌/target/

Node.js (如果前端也在同一仓库)

node_modules/

npm-debug.log*

yarn-debug.log*

yarn-error.log*

  1. 关键分类解析

A. Eclipse 专属忽略项

Eclipse 会在项目根目录生成以下文件,这些文件通常包含绝对路径或用户特定的偏好设置,提交后会导致团队成员间频繁冲突:

.settings/‌:存放编译器版本、编码格式等具体设置。

.classpath‌:定义项目的类路径依赖。

.project‌:定义项目名称和关联的 Nature(如 Java Nature)。

注意:虽然 .project 有时被用于识别项目类型,但在现代协作中,通常建议忽略它,或者仅保留最基础的名称定义而忽略具体构建器配置。大多数最佳实践建议直接忽略整个 .settings/ 目录和 .classpath。

B. 构建工具忽略项

Maven‌: 核心是 /target/ 目录,所有编译后的 class 文件、打包后的 jar/war 都在此生成。

Gradle‌: 核心是 /build/ 和 /.gradle/ 目录。

C. 敏感配置忽略项

切勿提交‌包含明文密码、密钥的文件,如 application-prod.yml、.env、*.key。

建议保留一个模板文件(如 application-example.yml 或 .env.example)供团队成员参考,并在 .gitignore 中排除实际使用的本地副本。

  1. 重要操作提示

已跟踪文件的处理‌:

如果某些文件(如 .classpath 或 target/ 下的文件)在创建 .gitignore 之前已经被 Git 跟踪(即已经执行过 git add),仅仅修改 .gitignore ‌不会‌生效。你需要先执行以下命令取消跟踪:

bash

取消单个文件的跟踪

git rm --cached .classpath

取消整个目录的跟踪

git rm -r --cached target/

然后提交更改

git commit -m "Stop tracking ignored files"

验证规则‌:

在终端中运行以下命令,检查某个文件是否被正确忽略:

bash

git check-ignore -v <文件名>

如果返回规则行,说明忽略生效;如果没有输出,说明该文件仍被 Git 跟踪或未匹配到规则。

全局忽略(可选)‌:

对于操作系统生成的垃圾文件(如 .DS_Store, Thumbs.db),你可以配置全局忽略,避免在每个项目中重复添加:

bash

git config --global core.excludesfile ~/.gitignore_global

然后在 ~/.gitignore_global 中添加这些系统级规则。

这份模板覆盖了绝大多数 Java/Eclipse 项目的场景,可根据你具体使用的构建工具(Maven/Gradle)和框架(Spring Boot)进行微调。

相关推荐
EatFan6 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
Maiko Star6 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
现任明教教主~8 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
一条破秋裤9 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
布吉岛的石头9 小时前
Java 程序员第 49 阶段5:BERT 预训练目标 MLM+NSP 的工程含义
java·人工智能·深度学习·bert·transformer
摇滚侠10 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python
二十雨辰10 小时前
[学成在线]-01项目背景
java
弈栈录11 小时前
Java AI 应用的异步化与高并发设计
java·后端·架构
落魄实习生11 小时前
Agent Scope Java 2.x 系列【2】 ReActAgent
java·开发语言
艸肅12 小时前
Ubuntu 安装 JDK (含手动安装)
java·ubuntu·jdk