常见工作流

1. 集中式工作流(Centralized Workflow)

  • 模式:所有人都直接基于 main 开发。
  • 优点:简单直接,上手成本最低。
  • 缺点:多人并行开发时容易互相影响,不适合复杂项目。
  • 适用:个人项目、小团队、低频发布场景。

2. 功能分支工作流(Feature Branch / GitHub Flow)

  • 模式:从 main 拉出功能分支,开发完成后通过 PR 合并回 main
  • 分支:feature/*fix/*docs/* 等前缀。
  • 优点:代码评审友好,变更隔离清晰,适合开源协作。
  • 缺点:分支生命周期过长时,合并冲突会增多。
  • 适用:大多数互联网项目、持续交付场景。

3. GitFlow 工作流

  • 核心分支:main(生产稳定)、develop(日常集成)。
  • 辅助分支:feature/*release/*hotfix/*
  • 典型流程:
    1. developfeature/* 开发新功能,完成后合回 develop
    2. 发布前从 developrelease/* 做联调与修复。
    3. 发布时将 release/* 合并到 main 并打 tag,同时回合并到 develop
    4. 紧急线上修复从 mainhotfix/*,修复后同时合并到 maindevelop
  • 优点:发布节奏清晰,适合有版本管理要求的项目。
  • 缺点:分支较多、流程偏重,不适合追求极简和高频小步发布的团队。
  • 适用:有明确版本周期、需要长期维护多个版本的项目。

4. 主干开发(Trunk-Based Development)

  • 模式:短生命周期分支,频繁合并到主干(main/trunk)。
  • 配套实践:小步提交、特性开关(Feature Flag)、自动化测试。
  • 优点:减少分支漂移,降低大规模合并冲突,交付速度快。
  • 缺点:对 CI/CD 和测试质量要求高。
  • 适用:工程化成熟、自动化完善的团队。

5.其他

  • 模式: 设定主分支,存在定制则设定定制分支

pr贡献

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#仓库设置
git remote -v
git remote set-url origin https://github.com/Zane-Jiang/tpu-mlir.git
git remote add upstream https://github.com/sophgo/tpu-mlir.git

#远程仓库更新与同步
# pull = fetch + merge
git fetch upstream
git checkout main
git merge upstream/main
git push origin main
#或
git fetch upstream
git checkout my-feature
git rebase upstream/main #或 git rebase upstream/release_vX
git push --force-with-lease

#pr二次修改
git checkout my-feature
# 修改代码
git commit -am "fix review comments"
git push
#PR 会自动更新,不用重新提


#例:在远处pr的基础上继续修改
git fetch upstream pull/244/head:nanobind-migrate-pr-ref
git checkout -b pr-branch-rebase master
git cherry-pick <commit-hash>
#应用某个commit


本站由 Zane Jiang 使用 Stellar 1.33.1 主题创建,一款很棒的 Hexo 主题!

总访问 次 || 本页访问
总访客 人 || 本页访客