配置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)进行微调。

相关推荐
LayZhangStrive1 小时前
融360 一面
java·面试·后端开发
城管不管2 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记2 小时前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
JavaDog程序狗2 小时前
【规范】这套 Git 规范,救了整个团队
git·代码规范·workflow
喜乐MI2 小时前
Git 分支操作避坑指南:merge、cherry-pick、revert 与 reset 怎么选?
git·github
爱敲键盘的猴子2 小时前
深入理解 Java HashMap
java·hashmap
霸道流氓气质2 小时前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程
天涯醉青楼2 小时前
Spring Boot 接口返回 Bean 时字段名“变形”的深度剖析与解决方案
java
步行cgn3 小时前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
thefool1122663 小时前
从中序与后序遍历序列构造二叉树
java