如何将远程分支重置至指定提交?本地已通过SourceTree完成重置
解决本地重置分支后同步远程分支的问题
嗨,我来帮你搞定这个事儿!你已经在本地用SourceTree把分支重置到指定的commit了,现在要让远程分支和本地状态对齐,核心操作就是强制推送,不过先得给你提两个关键提醒:
- 如果这个远程分支还有其他同事在协作,强制推送会直接覆盖他们的工作,一定要提前跟大家沟通确认!
- 务必确保你本地的分支状态就是你想要的最终结果,因为强制推送后,远程那些“多余”的commit会被移除,没法轻易恢复。
下面给你两种操作方式,选你顺手的来:
方式一:用SourceTree图形界面操作
- 打开SourceTree,选中你已经重置好的本地分支
- 点击顶部工具栏的「推送」按钮(或者右键点击该分支,选择「推送」)
- 在弹出的推送窗口里,找到左下角的「强制推送」选项(不同版本可能叫「覆盖远程分支」或Force Push),勾选它
- 确认推送的目标是对应的远程分支(比如
origin/你的分支名),然后点击「确定」完成推送
方式二:用命令行操作(备选方案)
如果SourceTree的操作遇到问题,你可以打开终端,切换到项目所在目录,执行以下命令:
# 安全强制推送(推荐):会检查远程是否有其他人的新提交,有则报错 git push --force-with-lease origin 你的分支名 # 直接强制推送:不检查,直接覆盖远程分支 git push --force origin 你的分支名
推送完成后,你再查看分支状态,就会发现本地和远程已经完全匹配,之前提示“落后多个commit”的信息也会消失啦。
内容的提问来源于stack exchange,提问作者Casey West
相关产品推荐
相关产品推荐

