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

Git从release分支合并后,如何推送更新至远程main和develop分支?

Git推送问题解答

你的命令用法问题

你执行的git push -f -u origin develop main确实存在问题:

  • -f是强制推送,在你这种正常合并release分支的场景下完全没必要,强制推送会覆盖远程分支的历史,只有在确认需要重写远程分支历史时才该使用,这里显然不属于这种情况。
  • -u参数只能给一个本地分支设置远程上游关联,当你同时指定两个分支时,它只会给最后一个分支(也就是main)设置关联,但因为命令执行逻辑的问题,导致只有develop被推送成功,这就是你遇到的现象。

正确的推送步骤

按照Git Flow规范,你需要同步main、develop分支,以及你打的1.2标签到远程仓库,分步骤执行即可:

  1. 推送更新后的main分支(你已经成功执行过这一步):
    git push origin main
    
  2. 推送更新后的develop分支:
    git push origin develop
    
    不需要加-u,除非这是你第一次把develop分支推送到远程,否则本地分支已经和远程分支有上游关联了。
  3. 推送你打的1.2标签到远程:
    git push origin 1.2
    
    如果要一次性推送所有本地标签,可以用git push origin --tags。

是否只需要更新main分支?

当然不是。Git Flow的核心逻辑就是让main(生产稳定分支)和develop(日常开发集成分支)都保持同步:

  • main分支承载稳定的发布版本,每次合并release或hotfix后都要推送到远程,确保生产环境能获取到最新的稳定代码。
  • develop分支是团队日常开发的基础分支,所有完成的feature、release合并后的代码都要同步到这里,让其他开发者能基于最新的开发分支继续工作。

所以你必须同时推送main和develop分支到远程,才能保证团队代码的一致性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:52:03