# git-branch-merge **Repository Path**: jqv/git-branch-merge ## Basic Information - **Project Name**: git-branch-merge - **Description**: - **一键自动化合并**:自动处理 `fetch` -> 切换到源分支 -> `push` -> 切换到目标分支 -> `merge` -> `push` -> 切回源分支 的完整 Git 操作流。 - **全局快捷键呼出**:支持自定义全局快捷键(默认 `Ctrl+Alt+G`),随时随地一键呼出界面,无需在任务栏苦苦寻找。 - **单例运行与托盘隐藏**:程序单例运行,点击右上角关闭按钮会自 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-18 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git 合并到 develop (GitMergeToDevelop) 这是一个用于将本地或远程的 Git 分支快速合并到 `develop` 分支的 Windows 桌面小工具。它可以帮助开发者一键完成“拉取、切换、合并、推送、切回”的繁琐流程,极大地提高了日常开发和代码集成的效率。 ## 🌟 核心特性 - **一键自动化合并**:自动处理 `fetch` -> 切换到源分支 -> `push` -> 切换到目标分支 -> `merge` -> `push` -> 切回源分支 的完整 Git 操作流。 - **全局快捷键呼出**:支持自定义全局快捷键(默认 `Ctrl+Alt+G`),随时随地一键呼出界面,无需在任务栏苦苦寻找。 - **单例运行与托盘隐藏**:程序单例运行,点击右上角关闭按钮会自动隐藏到系统托盘,不占用任务栏空间。 - **双模式运行**: - **EXE 原生模式**:提供完整的 WinForms 界面和最佳体验。 - **PowerShell 备用模式**:在无法运行 EXE 的环境下,可以使用 `.ps1` 脚本通过 PowerShell 运行。 - **实时日志与状态**:内置控制台输出视图,每一条执行记录都带有精确的时间戳,随时掌控合并进度和工作区状态。 - **工作区安全检查**:在执行合并前和切换分支后,都会进行严格的 `git status --porcelain` 检查,确保工作区干净,避免未提交的代码丢失或冲突。 ## 🚀 使用指南 ### 1. 启动工具 双击运行目录下的 `GitMergeToDevelop.exe` 即可启动工具。如果因某些原因无法执行 EXE,也可以双击 `run.cmd` 启动(它会自动尝试打开 EXE,失败则降级调用 `.ps1` 脚本)。 ### 2. 选择仓库目录 - 工具会自动记住您最近使用过的仓库目录。 - 您也可以在顶部的下拉框中选择,或者点击右侧的 **“选择文件夹”** 按钮手动指定本地 Git 仓库路径。 ### 3. 选择分支 - **源分支**:您要合并出去的分支。可以通过单选框选择列出 **“本地”** 分支还是 **“远程”** 分支。 - **目标分支**:默认固定显示远程目标分支列表,通常为 `develop`。 ### 4. 开始执行 确保您的代码已提交,工作区干净。点击 **“开始执行”** 按钮。工具将自动按照以下顺序执行 Git 命令: 1. `git fetch --prune origin`(更新远程信息) 2. `git checkout <源分支>`(如果是远程分支且本地没有,则自动建立追踪并检出) 3. 尝试更新源分支(`merge --ff-only`)并推送到远程 4. `git checkout <目标分支>` 5. 更新目标分支(`merge --ff-only`) 6. **`git merge <源分支> --no-edit`**(执行合并) 7. `git push origin <目标分支>`(将合并结果推送) 8. `git checkout <源分支>`(切回原来开发的分支) ### 5. 查看日志 界面右侧的控制台窗口会实时输出每一条执行的 Git 命令及返回结果,每行日志开头附有 `[YYYY-MM-DD HH:mm:ss]` 时间戳,方便追溯。 ### 6. 设置全局快捷键 在界面中部的 **“快捷键”** 输入框中,直接按下您想要的组合键(例如 `Ctrl+Shift+M`),然后点击 **“保存快捷键”**。之后您可以随时按下该快捷键将工具界面呼出到最前。 ## ⚠️ 注意事项 - **工作区必须干净**:在点击“开始执行”之前,请确保您的源分支没有未提交的更改。如果工作区不干净,工具会在检查阶段自动中止,并提示您处理变更。 - **合并冲突**:如果 `git merge` 过程中发生代码冲突,工具会中止后续流程并报错。此时您需要**手动打开您的 IDE 解决冲突、提交,并手动完成后续的推送**。 - **单例限制**:程序已实现单例模式,同一时间只能打开一个实例。如果尝试重复打开,会收到托盘运行提示。 - **依赖环境**:运行该工具需要您的电脑已安装 `Git`,并且 `git` 命令已被添加到了系统的环境变量 `PATH` 中。 ## 🛠️ 编译说明 如果您修改了 `GitMergeToDevelop.cs` 源代码,只需双击运行目录下的 **`build-exe.cmd`** 脚本,即可利用 Windows 内置的 .NET Framework (csc.exe) 重新编译生成最新的 `GitMergeToDevelop.exe`,无需安装庞大的 Visual Studio。