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