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

Git-Flow中未关闭发布分支时创建新分支的最优方案咨询

Git-Flow冻结期多Release分支处理方案

针对你遇到的场景,最优方案是先同步现有Release分支的独有修正到Develop,再手动创建测试用Release分支,无需严格遵循Git-Flow工具的单Release分支限制,具体步骤如下:

1. 同步现有Release分支的修正到Develop

先把仅存在于当前Release分支的修正同步到Develop,确保新测试分支能继承这些关键修复:

  • 切换到Develop分支:
    git checkout develop
    
  • 合并现有Release分支的所有变更(用--no-ff保留合并历史,便于追溯):
    git merge --no-ff release/vX.X.X
    
    如果仅需同步特定几个修复提交,可改用cherry-pick(先通过git log release/vX.X.X获取目标提交哈希):
    git cherry-pick <commit-hash-1> <commit-hash-2>
    
  • 解决合并/cherry-pick产生的冲突,完成提交:
    # 合并冲突解决后
    git commit
    # cherry-pick冲突解决后
    git cherry-pick --continue
    

2. 手动创建测试用Release分支

Git-Flow工具的单Release限制是规范建议,实际场景可灵活调整,直接从更新后的Develop创建测试分支:

  • 创建并切换到测试用Release分支(命名建议加标识区分,比如带-test后缀):
    git checkout -b release/vY.Y.Y-test develop
    
  • 正常在该分支开展测试、bug修复,流程和正式Release分支一致。

3. 冻结期结束后的收尾

  • 原Release分支:部署到生产环境后,按Git-Flow规范合并到master和develop,再删除该分支:
    git checkout master
    git merge --no-ff release/vX.X.X
    git tag -a vX.X.X -m "Release vX.X.X"
    git checkout develop
    git merge --no-ff release/vX.X.X
    git branch -d release/vX.X.X
    
  • 测试用Release分支:
    • 如果测试通过需上线:将分支上的新修复合并到Develop,之后可基于此创建正式Release分支;
    • 如果无需上线:直接删除该测试分支即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:24:59