# git-commit-exporter
**Repository Path**: wangq1231/git-commit-exporter
## Basic Information
- **Project Name**: git-commit-exporter
- **Description**: Git Commit Exporter 是一款 IntelliJ IDEA 插件,让你把 Git Log 中选中提交所变更的文件快速导出到本地目录,同时生成一份含文件状态(A/M/D/R)的清单文件。非常适合:交付代码变更、归档提交产物、人工审核差异文件等场景。
- **Primary Language**: Kotlin
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-02
- **Last Updated**: 2026-08-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Git Commit Exporter
**从 IntelliJ IDEA 的 Git Log 一键导出提交变更文件**
Export changed files from Git Log to a local directory
`v1.0.0` · IntelliJ IDEA 2026.1+ · JDK 21
[功能特性](#功能特性) · [下载安装](#下载安装) · [使用说明](#使用说明) · [版本时间轴](#版本发布记录) · [开发文档](DEVELOPMENT.md)
---
## 简介
Git Commit Exporter 是一款 IntelliJ IDEA 插件,让你把 Git Log 中选中提交所变更的文件**快速导出到本地目录**,同时生成一份含文件状态(A/M/D/R)的清单文件。非常适合:交付代码变更、归档提交产物、人工审核差异文件等场景。
## 功能特性
| 功能 | 说明 |
|------|------|
| 📦 提交文件导出 | 在 Git Log 选中一个或多个提交,右键一键导出全部变更文件 |
| 🎯 自定义选中导出 | 在提交明细(右侧文件列表)中选中部分文件,仅导出所选内容,更灵活 |
| 📁 保留仓库路径 | 导出目录结构与仓库保持一致;多仓库项目自动加根目录前缀 |
| 📋 状态清单文件 | 自动生成 `_commit-export-manifest.txt`,记录每个文件的 A/M/D/R 状态 |
| 🗑️ 删除文件处理 | 被删除的文件不复制,仅在清单中标记 `D` |
| ⏱️ 进度与通知 | 后台任务执行带进度条,完成后弹出结果通知(导出数量与错误详情) |
| ✨ 智能显隐 | 仅在 Git Log 有选中提交/文件时才显示对应菜单项 |
## 下载安装
### 最新版本
| 版本 | 日期 | 下载 |
|------|------|------|
| **v1.0.0** | 2026-08-02 | [git-commit-exporter-1.0.0.zip](https://gitee.com/wangq1231/git-commit-exporter/raw/master/website/downloads/git-commit-exporter-1.0.0.zip) |
> 历史版本见 [版本发布记录](#版本发布记录) 或 [CHANGELOG.md](CHANGELOG.md)。
### 安装步骤
1. 下载上表 zip 文件
2. IDEA 中打开 `Settings → Plugins → ⚙️ → Install Plugin from Disk...`
3. 选择下载的 zip → 重启 IDEA
4. 打开任意 Git 仓库,底部打开 `Version Control → Log`(Git Log)
## 使用说明
### 方式一:导出提交的全部变更文件
1. 打开 **Git Log**(底部 Version Control → Log)
2. 选中一个或多个提交(Ctrl/Cmd 多选)
3. 右键 → **Export Changed Files...**
4. 选择目标目录 → 自动开始导出
5. 完成后目标目录包含:变更文件副本 + `_commit-export-manifest.txt` 清单
### 方式二:导出选中的文件(提交明细)
1. 在 Git Log 中选中一个提交,右侧「提交明细」显示变更文件列表
2. 在文件列表中选中一个或多个文件
3. 右键 → **Export Selected Files...**
4. 选择目标目录 → 仅导出所选文件
### 清单文件格式
```
# Git Commit Exporter manifest
# target: D:\exports\2026-08-02
# generated: 2026-08-02T23:00:00
# STATUS(space)RELATIVE_PATH
M src/main/kotlin/com/gittools/commitexporter/CommitExportService.kt
A src/main/resources/META-INF/plugin.xml
D src/old/deleted-file.txt
```
状态含义:`A`=新增 · `M`=修改 · `D`=删除 · `R`=移动
## 截图展示
### 功能示意图

> 上图为功能示意,实际界面以 IDEA 显示为准。
> 建议替换为真实截图:将 IDEA 中的实际效果截图保存到 `docs/screenshots/` 并更新上述链接。
## 版本发布记录
| 版本 | 日期 | 主要变更 | 下载 |
|------|------|----------|------|
| [v1.0.0](CHANGELOG.md#v100--2026-08-02首发) | 2026-08-02 | 首发版本:提交文件导出、自定义选中导出、状态清单、多仓库支持 | [zip](https://gitee.com/wangq1231/git-commit-exporter/raw/master/website/downloads/git-commit-exporter-1.0.0.zip) |
完整记录见 [CHANGELOG.md](CHANGELOG.md)。
> **版本升级说明**:后续升级将基于当前版本递增版本号(语义化版本),并同步更新 CHANGELOG 与本页表格。
## 常见问题
**Q: 右键菜单没有「Export Changed Files...」?**
A: 需先在 Git Log 中选中至少一个提交;该菜单仅在选中时显示。
**Q: 导出时报错 / 文件缺失?**
A: 查看完成后弹出的通知中的错误列表,以及目标目录下的 `_commit-export-manifest.txt`(含 `# errors:` 段落)。
**Q: 支持哪些 IDEA 版本?**
A: 支持 IntelliJ IDEA 2026.1 及以上(`sinceBuild = 261.0`),依赖内置 Git 与 VCS 模块。
## 许可证
暂无(私有项目)。