# code-merge-assistant-Pro **Repository Path**: mcxia/code-merge-assistant-Pro ## Basic Information - **Project Name**: code-merge-assistant-Pro - **Description**: 内核1.0 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-09 - **Last Updated**: 2026-02-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 代码合并助手 (Code Merge Assistant) 一个功能强大的Git代码合并工具,旨在简化团队协作中的代码合并流程,提供可视化的合并操作和冲突解决能力。 ## 功能特点 ### 核心功能 - **Git仓库管理**:快速打开和管理多个Git仓库 - **分支管理**:创建、切换、检出分支 - **智能合并**:支持多种合并场景和策略 - **冲突解决**:可视化的冲突解决界面 - **差异分析**:详细的代码差异对比 - **合并历史**:完整的合并操作记录 - **团队协作**:团队成员和任务管理 ### 高级功能 - **AI辅助**:智能分析和建议 - **安全扫描**:检测潜在的安全问题 - **集成服务**:支持Jenkins和Jira集成 - **自动解决**:自动处理简单冲突 - **变基操作**:支持分支变基 - **Cherry-pick**:选择性合并提交 - **预览合并**:在执行前预览合并结果 - **备份功能**:自动创建合并备份 ### 界面特性 - **多视图模式**:支持并排和统一视图 - **文件树**:直观的仓库文件结构 - **状态指示**:实时显示操作状态 - **历史记录**:详细的操作历史表格 - **自定义主题**:支持深色和浅色主题 ## 系统要求 - Java 11或更高版本 - Git 2.0或更高版本 - Windows、macOS或Linux操作系统 ## 安装说明 ### 从源码构建 1. **克隆仓库** ```bash git clone https://github.com/yourusername/code-merge-assistant.git cd code-merge-assistant ``` 2. **构建项目** ```bash # 使用Maven构建 mvn clean package # 或使用Gradle构建 gradle build ``` 3. **运行应用** ```bash java -jar target/code-merge-assistant.jar ``` ### 直接运行 如果您已经下载了可执行jar文件,只需双击运行或使用命令行启动: ```bash java -jar code-merge-assistant.jar ``` ## 使用指南 ### 基本操作 1. **打开仓库** - 点击"文件" -> "打开仓库" - 选择本地Git仓库目录 - 仓库将显示在左侧列表中 2. **分支管理** - 从分支下拉菜单选择现有分支 - 点击"创建分支"按钮创建新分支 - 使用"检出"功能将分支检出到指定目录 3. **执行合并** - 选择源分支和目标分支 - 选择合适的合并场景 - 选择合并策略(合并、变基或压缩) - 点击"预览合并"查看结果 - 点击"执行合并"完成操作 4. **解决冲突** - 合并过程中如有冲突,将自动打开冲突解决界面 - 选择保留哪一方的更改 - 手动编辑冲突内容 - 点击"解决冲突"完成操作 ### 高级操作 1. **使用AI辅助** - 在合并前启用AI分析 - 查看AI生成的合并建议 - 根据建议调整合并策略 2. **安全扫描** - 在合并前执行安全扫描 - 查看扫描结果和建议 - 修复潜在的安全问题 3. **集成服务** - 配置Jenkins集成以自动触发构建 - 配置Jira集成以更新工单状态 - 查看集成服务的状态和结果 4. **团队协作** - 添加团队成员 - 分配合并任务 - 跟踪任务进度 ### 快捷键 | 操作 | 快捷键 | |------|--------| | 打开仓库 | Ctrl+O | | 执行合并 | Ctrl+M | | 解决冲突 | Ctrl+C | | 变基操作 | Ctrl+R | | Cherry-pick | Ctrl+P | | 刷新 | F5 | | 撤销 | Ctrl+Z | | 重做 | Ctrl+Y | | 打开设置 | Ctrl+S | | 打开用户手册 | F1 | ## 功能模块 ### 1. 核心控制器 - **MainController**:主界面控制器,协调各个功能模块 - **MergeController**:合并操作控制器,处理合并流程 - **ConflictController**:冲突解决控制器,处理合并冲突 - **BranchManagementController**:分支管理控制器 - **CommitHistoryController**:提交历史控制器 ### 2. 服务层 - **GitService**:Git操作核心服务 - **MergeValidationService**:合并验证服务 - **DiffAnalysisService**:差异分析服务 - **AIService**:AI辅助服务 - **SecurityService**:安全扫描服务 - **TeamService**:团队协作服务 - **IntegrationService**:集成服务 ### 3. 模型层 - **Repository**:仓库模型 - **Branch**:分支模型 - **Conflict**:冲突模型 - **MergeScenario**:合并场景模型 - **MergeResult**:合并结果模型 - **TeamMember**:团队成员模型 ### 4. 工具类 - **DialogUtil**:对话框工具 - **FileUtil**:文件操作工具 - **NotificationUtil**:通知工具 - **PlatformUtil**:平台工具 - **ValidationUtil**:验证工具 ## 配置选项 ### 应用配置 应用配置文件位于 `resources/Application.properties`,可根据需要修改以下配置: ```properties # 应用设置 app.name=代码合并助手 app.version=1.0.0 # Git设置 git.timeout=30 git.merge.backup=true # AI设置 ai.enabled=true ai.api.url=http://localhost:8080/api # 集成设置 integration.jenkins.enabled=false integration.jira.enabled=false ``` ### 用户偏好 用户偏好设置存储在用户目录下的 `.codemerged` 文件夹中,包括: - 最近打开的仓库 - 界面主题设置 - 快捷键配置 - 默认合并策略 ## 故障排除 ### 常见问题 1. **无法打开仓库** - 确保选择的目录是有效的Git仓库 - 检查Git是否正确安装 - 检查仓库权限 2. **合并失败** - 检查分支是否存在 - 确保有足够的权限 - 检查网络连接(如果涉及远程仓库) 3. **冲突解决界面无响应** - 尝试关闭并重新打开应用 - 检查系统资源使用情况 - 确保文件没有被其他程序锁定 4. **AI分析失败** - 检查AI服务是否运行 - 验证API配置是否正确 - 确保网络连接正常 ### 日志信息 应用日志存储在 `logs` 目录中,可用于排查问题: - `application.log`:应用运行日志 - `git.log`:Git操作日志 - `error.log`:错误日志 ## 开发指南 ### 项目结构 ``` src/ ├── main/ │ ├── java/com/codemerged/ │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── model/ # 模型类 │ │ ├── service/ # 服务类 │ │ │ ├── ai/ # AI服务 │ │ │ ├── diff/ # 差异分析服务 │ │ │ ├── git/ # Git服务 │ │ │ ├── integration/ # 集成服务 │ │ │ ├── security/ # 安全服务 │ │ │ └── team/ # 团队服务 │ │ ├── util/ # 工具类 │ │ ├── view/ # 视图组件 │ │ └── MainApp.java # 主应用 │ └── resources/ │ ├── css/ # 样式文件 │ ├── fxml/ # 界面文件 │ ├── Application.properties │ └── logback.xml └── test/ # 测试代码 ``` ### 扩展开发 1. **添加新功能** - 在 `controller` 包中创建新的控制器 - 在 `service` 包中实现核心逻辑 - 在 `fxml` 目录中创建界面文件 - 在 `css` 目录中添加样式 2. **集成新服务** - 实现 `IntegrationService` 接口 - 在 `IntegrationServiceFactory` 中注册服务 - 在配置文件中启用服务 3. **自定义主题** - 在 `css` 目录中创建新的主题文件 - 在应用设置中选择新主题 ## 贡献指南 我们欢迎社区贡献!如果您想参与项目开发,请: 1. Fork 项目仓库 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 开启Pull Request ### 代码规范 - 遵循Java代码规范 - 使用4空格缩进 - 类名使用驼峰命名法 - 方法名和变量名使用小驼峰命名法 - 常量使用大写字母和下划线 - 为重要方法添加Javadoc注释 ## 许可证 本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件 ## 联系方式 - **项目主页**:https://github.com/yourusername/code-merge-assistant - **问题反馈**:https://github.com/yourusername/code-merge-assistant/issues - **邮件**:1299692066@qq.com --- **代码合并助手** - 让代码合并变得简单高效!