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

Git分支策略求助:如何为每个教程创建可合并的独立特性分支?

适合交互式教程开发的Git分支策略方案

问题根源

你之前的合并冲突,本质是特性分支从main_backup创建时携带了大量未完成教程的文件,而develop分支基于清空后的main,这些文件在develop中处于删除状态,两者合并时自然会产生文件存在/删除的冲突。

规范分支策略实现步骤

1. 固化基础分支角色

  • main分支:严格只存放已发布给学生的最终内容,保持绝对干净,仅接受从develop分支的合并操作。
  • develop分支:作为集成缓冲区,专门收集所有已完成且通过审核的教程,定期合并到main完成批量发布。
  • feature/tutorial-xxx分支:每个教程对应独立的特性分支,仅用于单个教程的开发、自测和审核。

2. 特性分支的正确创建与开发流程

  • 从最新的develop分支拉取新特性分支,以创建tutorial-1为例:
    git checkout develop
    git pull
    git checkout -b feature/tutorial-1
    
  • 在该分支内仅专注于tutorial-1目录的开发,无需操作其他教程文件(develop本身已无未完成内容,不存在冗余文件需要删除)。
  • 完成开发并通过审核后,将特性分支合并到develop:
    git checkout develop
    git merge feature/tutorial-1 --no-ff
    
    由于分支基于develop创建且仅修改自身教程目录,几乎不会产生合并冲突。

3. 历史遗留内容的迁移

如果main_backup中还有未完成的教程需要后续开发,不要直接从main_backup拉分支,而是:

  1. 从develop拉取对应特性分支
  2. 将main_backup中该教程的目录内容复制到特性分支
  3. 提交并推进开发,后续按正常流程合并到develop

4. 批量发布流程

当develop中积累了足够多的已审核教程后,直接将develop合并到main:

git checkout main
git merge develop --no-ff
git push origin main

确保main始终保持干净的可发布状态。

核心优势

  • 每个教程分支完全独立,便于单独审核、修改和回滚
  • main分支彻底隔离开发过程,只保留最终可发布内容
  • develop作为集成缓冲区,避免单个教程的开发直接影响生产分支

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:48:22