最近团队从 svn 迁到了 git,引出了一些问题,包括:
以前我们人少,测试的需求也不多,所以一直运转良好,现在刚切过去 git 就遇到很多磨合问题。不知道大家的工作中是怎样的使用流程?
1
noe132 2017-05-09 13:31:35 +08:00 6
我觉得简单的话一般 master 用来发布版本
dev 用来做开发分支,稳定后 merge 到 master 不同 feature 开不同的分支,写完后 merge 到 dev test 看你们是加在 master 和 dev 之间,还是从 feature 分支创建 test 然后再 merge 到 dev 如果情况更加复杂的话也可以分的更细 |
2
Felldeadbird 2017-05-09 13:40:50 +08:00 1
我司目前的做法一切基于分支操作。
master 分支与 线上永远保持一致。 dev 用于准备上线的分支。与 master 版本差异不大于 1-3 个版本(因为待上线需要部署时间,与 master 合并不会立刻完成)。 dev-test 用于各种功能测试之用。 基于 dev 分支 而来。因此可以随时回滚等操作。 dev-功能名称 每次有新功能,先基于当前 dev 创建准备开发的功能。各人员接到需求后,拉取此分支进行开发。若多人开发一个功能。那么再在此分支创建更加细化的分支。如:dev-功能名称-开发人员名称 |
3
lijsh OP @Felldeadbird #2 那 dev-功能名称 的分支开发完了,是合到 dev 还是 dev-test ?
|
4
jessynt 2017-05-09 14:11:30 +08:00 via Android 2
Git Flow 应该就是你要找的
|
6
lijsh OP @noe132 #1 谢谢指点,其实我们现在的做法和这个很像了,就是 test 分支有问题。有时功能开发完了送测,测试测不完其它紧急功能需要上线,又得把这功能先撤下…
|
7
mooncakejs 2017-05-09 14:20:50 +08:00 1
master 永远是 release 最新版,dev 开发,feture 开分支,test 不需要开分支,只要打 tag 就好。
|
8
wujunze 2017-05-09 14:21:19 +08:00
一楼的方案👍
|
9
Felldeadbird 2017-05-09 14:30:51 +08:00
先合并到 dev-test。 确认测试没问题再 将 dev-功能名称 分支与 dev 合并。 最后等上线就将 dev 再合并到 master。 具体你要自己本地模拟就知道了
|
10
joeyFuck 2017-05-09 14:32:10 +08:00
学习到
|
11
Chrisplus 2017-05-09 15:34:08 +08:00 1
|
12
linda102 2017-05-09 17:06:42 +08:00
@noe132 赞赞的👍 我们开发基本也是这样的流程。 永远保持主分支是最新的,需要开发新 feature 时,新建一个分支,这个分支上开发测试完毕后,再 merge 到 master 上,最后发布的是 master,如果有多个开发分支,merge 错误时,手动解决。如果开发分支太多混乱,用完删除就好啦~
|
13
bombless 2017-05-09 17:11:17 +08:00
没必要搞一个激进分支,但是可以根据 mile stone 搞一些 release candidate。
因为你不可能每次集成的时候都成功,所以还是需要一个分支去模拟线上的下一个版本。 |
14
lostsquirrelX 2017-05-09 17:13:12 +08:00
|
15
Biwood 2017-05-09 17:16:34 +08:00
一直在用 1 楼的方案,原则是:分支起点是哪个分支,最终还要合并回到那个分支。这种方式跟 git-flow 还是有区别的,比较容易理解,也不那么容易造成混乱。
|
16
qiqico 2017-05-09 17:52:13 +08:00
公司实习生较多,业务需求也很多,大家按任务划分分支,由较有经验的开发进行分支的创建和合并等操作,其它人只管提交。
提测时候选择提测内容,手动合并分支,再构建部署,最后上线 |
17
paranoiagu 2017-05-09 18:36:11 +08:00 via Android
搭车问个问题:推荐用 gitlab 还是 gerrit ?
|
18
shalk 2017-05-09 18:42:55 +08:00
@paranoiagu 这完全是两个东西.
|
19
shalk 2017-05-09 18:46:14 +08:00
1. 如果人少,可以考虑 develop 分支+master 可能就足够.
2. Test 分支,看你们之前是怎么处理的? 既可以开分支, 也可以不开发分支,构建的时候构建成测试版本 |
20
kier 2017-05-09 18:48:03 +08:00
@paranoiagu 用 git4 年多,最近用 gerrit,完全不会用,怀疑自己都不会 git 了
|
21
vikeria 2017-05-10 10:56:36 +08:00 via iPhone
@Felldeadbird 和我组基本一致
|
22
zhouhui 2017-05-10 13:24:27 +08:00
git flow 流程.可以试试.
|