# Huang6349 Project Java Git Gitignore

> .gitignore 生成规范

- Skill: `tomevault-io/huang6349-project-java-git-gitignore` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/huang6349-project-java-git-gitignore`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/huang6349-project-java-git-gitignore/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/huang6349-project-java-git-gitignore

---


# .gitignore 生成规范

## 执行步骤

1. **加载模板** - 按顺序加载 8 个模板
2. **处理模板** - 应用特殊处理（如 macOS 的 `Icon*` 替换）
3. **添加标题** - 为每个模板添加对应标题 `### 标题 ###`
4. **追加项目特定规则** - 添加 `### Project ###` 和自定义规则
5. **合并内容** - 将所有内容合并为一个列表
6. **写入文件** - 将内容写入 `.gitignore`
7. **规则去重** - 对文件中的规则行进行全局去重，保留首次出现的位置

## 模板列表

按以下顺序加载 8 个模板，每个模板必须生成对应的标题：

| 顺序 | 模板名称                              | 标题                | 特殊处理                 |
|:--:|-----------------------------------|-------------------|----------------------|
| 1  | Global/Windows.gitignore          | ### Windows ###   | 无                    |
| 2  | Global/macOS.gitignore            | ### MacOS ###     | `Icon[^M]` → `Icon*` |
| 3  | Global/JetBrains.gitignore        | ### JetBrains ### | 无                    |
| 4  | Global/VisualStudioCode.gitignore | ### VSCode ###    | 无                    |
| 5  | Java.gitignore                    | ### Java ###      | 无                    |
| 6  | Kotlin.gitignore                  | ### Kotlin ###    | 无                    |
| 7  | Gradle.gitignore                  | ### Gradle ###    | 无                    |
| 8  | Maven.gitignore                   | ### Maven ###     | 无                    |

## 模板获取规则

使用：`https://gitee.com/huang6349/gitignore/raw/main/{模板名称}`

## 模板处理规则

### macOS 模板特殊处理

将 `Icon[^M]` 替换为 `Icon*`，解决 IDEA 语法兼容性问题。

## 输出格式规则

- 每个模板开头必须添加对应标题，格式为 `### 标题名称 ###`
- 使用上表预定义的标题，**禁止使用模板原标题**
- 标题必须独占一行，第一个模板前无空行，其他模板前保留一个空行，标题后紧跟模板内容
- 模板原内容（包括注释）必须**完整保留，仅在去重和特殊处理阶段可以移除重复项**

### 规则去重

去重是生成 .gitignore 时的**核心步骤**，必须严格执行：

1. 对所有模板的规则行进行**全局去重**
2. 规则行定义：非空且不以 `#` 开头的行
3. 保留每个规则**首次出现**的位置
4. **后续重复的规则及其关联注释直接跳过，不输出**
5. **不允许同一规则出现多次**

## 项目特定规则

在**添加标题之后、合并之前**，追加项目特定规则：

```gitignore
### Project ###
!libs/*.jar
```

此规则同样参与后续的去重判断。

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/huang6349) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

