# 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效果完全一致,但通过图形界面操作更直观,适合不熟悉命令行的场景。