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

本地main分支超前2个提交,切换origin/main报错,SourceTree如何修复?

在SourceTree中解决本地main分支超前远程且无法切换origin/main的问题

方案一:保存本地修改到新分支,重置本地main到远程版本

  • 确认当前处于本地main分支(查看SourceTree顶部的分支选择器)
  • 点击顶部菜单栏「分支」→「新建分支」,输入新分支名称(例如feature/local-modifications),勾选「基于当前分支」,点击「创建分支」——这会把你那2个本地提交完整保留到新分支中
  • 回到本地main分支,在左侧远程分支列表里右键点击origin/main,选择「重置当前分支到这个提交」
  • 在弹出的窗口中选择「硬重置(--hard)」,点击「确定」。此时本地main分支会完全同步到远程origin/main的状态,你的修改安全存在新分支里

方案二:Cherry-pick本地提交到新分支,保留原main分支状态

  • 在左侧分支列表右键点击origin/main,选择「检出」,遇到“分支已存在”提示时,选择「强制检出到新分支」,命名为temp-remote-main
  • 切换到temp-remote-main分支,新建一个正式工作分支(例如work/local-updates)
  • 切回本地main分支,在提交历史里勾选那2个超前的提交,右键选择「Cherry pick提交」,目标分支选择刚才创建的work/local-updates,点击「确定」
  • 完成后,可删除原本地main分支,将temp-remote-main重命名为main;或直接右键origin/main选择「重置当前分支到这个提交」来同步本地main

后续注意事项

  • 后续开发建议先创建feature分支,避免直接修改本地main分支
  • 可将新分支的提交推送到远程开发分支,通过PR申请合并到main分支

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:30:49