Skip to content
# example
1. 基于当前main分支或者开发分支新建一个功能分支,比如微信推送
2. 在该分支随意commit多次
3. 合并到main分支或者开发分支时,使用git merge --squash 功能分支
4. 具体在idea的操作如下
  **1\. 切换到目标分支(如 main)**

  - 在底部状态栏的分支选择器中,点击当前分支名称(通常在右下角)
- 从弹出的分支列表中选择main分支并切换
  **2\. 执行压缩合并**

  - 打开 Git 工具栏:顶部菜单栏 VCS → Git → Merge Changes...(或直接按 Ctrl+Shift+V)
- 在弹出的合并窗口中:
  - 左侧选择你的开发分支(如feature/wechat-push)
  - 勾选底部的 **"Squash commits" **选项(这对应\--squash参数)
  - 点击 **"Merge" **按钮

  **3\. 提交压缩后的更改**

  - 合并后会自动打开提交窗口,此时所有更改已被压缩
- 填写一个概括性的提交信息(如"feat: 实现微信推送功能")
- 点击 **"Commit" **完成提交
  **4\. 推送至远程(可选)**

  - 右键项目 → Git → Push...
- 确认推送分支为main后点击 **"Push"**
  **注意事项:**

  - 合并前确保main分支已同步远程最新代码(可先执行Pull)
- 压缩合并不会保留原分支的提交历史,仅生成一个新提交
- 如果合并时有冲突,IDEA 会提示解决冲突,处理完成后再提交
  这种方式和命令行git merge --squash效果完全一致,但通过图形界面操作更直观,适合不熟悉命令行的场景。






# example
        1. 基于当前main分支或者开发分支新建一个功能分支,比如微信推送
        2. 在该分支随意commit多次
        3.  合并到main分支或者开发分支时,使用git merge --squash 功能分支
        4. 具体在idea的操作如下
                1. 切换到目标分支(如 main)
                        • 在底部状态栏的分支选择器中,点击当前分支名称(通常在右下角)
                        • 从弹出的分支列表中选择main分支并切换
                2. 执行压缩合并
                        • 打开 Git 工具栏:顶部菜单栏 VCS → Git → Merge Changes...(或直接按 Ctrl+Shift+V)
                        • 在弹出的合并窗口中:
                                ○ 左侧选择你的开发分支(如feature/wechat-push)
                                ○ 勾选底部的 "Squash commits" 选项(这对应--squash参数)
                                ○ 点击 "Merge" 按钮
                3. 提交压缩后的更改
                        • 合并后会自动打开提交窗口,此时所有更改已被压缩
                        • 填写一个概括性的提交信息(如"feat: 实现微信推送功能")
                        • 点击 "Commit" 完成提交
                4. 推送至远程(可选)
                        • 右键项目 → Git → Push...
                        • 确认推送分支为main后点击 "Push"
                注意事项:
                        • 合并前确保main分支已同步远程最新代码(可先执行Pull)
                        • 压缩合并不会保留原分支的提交历史,仅生成一个新提交
                        • 如果合并时有冲突,IDEA 会提示解决冲突,处理完成后再提交
                这种方式和命令行git merge --squash效果完全一致,但通过图形界面操作更直观,适合不熟悉命令行的场景。

Released under the MIT License.