大家的 Git 有几个分支,有什么比较好的 Git 实践吗

2022-03-05 13:02:31 +08:00
 James369

原来项目比较小,就 2 个分支再加上打 Tag 就可以应付了。

现在一个新的项目比较庞大,表现在:

  1. 参与的开发人员多。( 10 人)
  2. 项目子模块多。( 20 多个子模块,大部分可以并行开发)
  3. 发布的 Target 多(不同的设备不同的 Target 、对应不同的运行参数)
  4. 每种设备对应一组数据文件。(用来做测试的,数据文件又大又多,不方便进入 Git 仓库)
  5. 发布版本较频繁。(每 2 周一个版本)

有什么好的作法吗,我感觉单靠 git 流程还搞不定,还得整一套自动化脚本来协助构建。

3355 次点击
所在节点    git
11 条回复
wjx0912
2022-03-05 13:21:08 +08:00
James369
2022-03-05 13:51:29 +08:00
@wjx0912 既然 git 分支这么强大,我准备 20 个子模块拉出 20 个分支出来并行开发,不知道过不过分
Huelse
2022-03-05 14:04:01 +08:00
如果能分模块的话就简单了,一个模块就一个 submodule

你们是多目标,一个分支就是一个目标,各个分支的.gitmodules 里对应所需 submodule 的分支,只要标注清楚了完全没问题
jessun1990
2022-03-05 15:02:28 +08:00
我觉得在确定分支之前,首先做好任务切割和分配,将任务切割成类似思维导图中树状结构。然后每个任务打上编号和 deadline ,那么 git 分支的分支名就出来了。
nathanw
2022-03-05 18:43:52 +08:00
1.10 人开发其实不多,用 git flow 大法,上百人都不是事
2.target 多,就把每个 target 都用一个单独的文件配置,包括运行参数。发布的时候执行对应的文件配置。
3.数据文件用依赖库的形式集成,另外一个独立的 git 维护
4.发布频繁其实挺好的,发布完,代码就 merge 进 dev ,其他人也可以同步下 dev 分支
likunyan
2022-03-05 18:58:11 +08:00
git flow
nicevar
2022-03-05 19:35:31 +08:00
开发的时候一个任务对应一个分支,维护的时候一个 issue 一个分支,用一下 jira 就知道了。
Jaosn
2022-03-05 22:53:26 +08:00
微服务也是一条路
DinnyXu
2022-03-05 23:08:50 +08:00
目前我们项目跟你描述的差不多,总共有十来个微服务,每个微服务都有 4 个子模块,dev 环境用分支管理的,test 环境用 tag 管理的,线上也是 tag 。部署环境是 Jenkins+Rancher
initd
2022-03-06 17:24:00 +08:00
darkengine
2022-03-06 18:34:31 +08:00
构建流程用 jenkins 配合着搞,不同的发布创建不同的 job 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX