You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SourceTree是否支持无需提交的合并操作?实操问题求助

在SourceTree中实现git merge --no-ff --no-commit的操作方法

问题描述

我需要执行Git命令:

git merge --no-ff --no-commit {branchtobemerged}

但在SourceTree界面里找不到对应的UI操作,只能通过终端执行。我试过取消合并设置中的"Commit merge immediately (if no conflicts)"选项,但系统依然会自动提交,这让我没法审查合并差异、拒绝部分不想合并的文件,请问有解决办法吗?

解决步骤

SourceTree没有直接对应--no-ff --no-commit的UI选项,但可以通过以下方式实现需求:

  • 打开SourceTree,切换到要合并的目标分支,右键点击待合并的分支,选择「合并{分支名}到当前分支」
  • 在弹出的合并窗口中,勾选「禁用快进合并」(这对应命令里的--no-ff参数)
  • 不要点击「确定」,而是点击窗口左下角的「命令行」按钮,此时终端会自动生成基础的合并命令
  • 在终端里把命令修改为git merge --no-ff --no-commit {branchtobemerged},执行这条命令
  • 回到SourceTree,会看到合并已进入待提交状态,此时可以在「文件状态」面板查看所有合并差异
  • 对不想保留的文件,右键选择「重置为HEAD」,即可取消该文件的合并变更
  • 确认所有变更符合要求后,再手动提交合并结果

补充说明:取消"Commit merge immediately (if no conflicts)"选项仅在合并有冲突时才会暂停提交,无冲突时仍会自动完成提交,因此没法单独靠这个选项实现--no-commit的效果。

内容的提问来源于stack exchange,提问作者Chizuoka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:42:50