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

Mac端SourceTree合并修复分支后开发分支无法运行该如何解决

分支合并故障原因与修复方案

操作问题说明

  • 你的doesNotHaveDeviceTokenBug分支是从远早于当前development分支的历史提交拉取的,两个分支存在大量非bug修复相关的代码、配置差异,本身合并风险极高。
  • 冲突解决时直接全部选择theirs(即修复分支的内容),直接覆盖了development分支后续迭代的所有非bug相关改动,导致development分支丢失大量必要代码与项目配置,最终运行报错。

修复步骤

  1. 先恢复development分支到合并前的正常状态
    打开SourceTree,找到development分支合并操作之前的最后一个正常提交,右键选择「重置当前分支到此次提交」,重置模式选择硬重置(操作前请先备份好本地未提交的其他改动)。也可以直接在项目终端执行命令:
    git reset --hard HEAD~1
    (如果合并操作是你在development分支的最近一次提交,该命令可直接回退到合并前状态)

  2. 同步bug修复到development分支(二选一即可)

  • 方案A(修复提交较少时优先使用)
    切换到doesNotHaveDeviceTokenBug分支,记下所有和DeviceTokens bug修复相关的提交哈希值,再切回development分支,在SourceTree中逐个右键选中要同步的修复提交,选择「拣选提交」,仅同步修复相关的改动,遇到冲突时仅针对bug相关代码部分解决冲突即可,不会影响其他功能代码。
  • 方案B(修复提交较多时使用)
    先切换到doesNotHaveDeviceTokenBug分支,在终端执行变基命令,将修复分支的基线更新到当前development的最新版本:
    git rebase development
    过程中按需解决冲突,变基完成后验证修复分支可正常运行,再切回development分支执行合并操作,此时合并无冲突,不会影响原有代码。
  1. 编译前清理缓存
    合并完成后关闭Visual Studio Mac,删除项目根目录下的.vs文件夹,以及各项目子目录下的bin、obj缓存文件夹,再重新打开VS编译运行即可。

注意事项

后续合并冲突不要直接全选theirs或ours,需要逐文件确认改动内容,避免覆盖无关的有效代码。

内容的提问来源于stack exchange,提问作者Le Mot Juiced

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:36:05