Soft_Job 板


LINE

目前工作上遇到这样的问题 有 Project A 因为不同客户需求不同分出了 Project A'、Project B (Fork),但 Project A 的更新又得 merge 进 A' 及 B 有点继承的感觉 但是实际上 Merge 的结果却不是我想的 示意图: https://i.imgur.com/5tGuKIJ.jpg 请问这样的状况是有什麽地方做错 或者是说这样的 case 分 branch 就好呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.53.25 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1610013117.A.209.html
1F:推 longlyeagle: 最好是可以模组化把general function包成library 01/07 17:55
2F:→ longlyeagle: 分成不同的project给不同客户 customer project只存 01/07 17:56
3F:→ longlyeagle: 客制化的东西 general function都放回library 01/07 17:57
4F:→ longlyeagle: 然後用引用library的版本控制功能推进 01/07 17:57
5F:→ k1dave6412: repo 的内容是 web service 01/07 17:58
6F:→ k1dave6412: 但是客制的部份大都是另外新增的 01/07 17:58
7F:→ k1dave6412: 所以想说是不是可以有继承 A 的方法 01/07 17:58
8F:→ leolarrel: 善用分支是非常推荐的作法 01/07 17:58
9F:→ k1dave6412: 主要用 Gitlab 进行,刚刚有测试这样的状况在 Github 01/07 17:59
10F:→ k1dave6412: 是不能用的 01/07 17:59
11F:推 longlyeagle: 推荐分project的原因是因为最後客户常会要加新功能 01/07 18:11
12F:→ longlyeagle: 到时候就会有A'', B', B'' 01/07 18:12
13F:→ superpandal: rebase就好 01/07 18:34
14F:推 reso: Project A的修改都开 feature分支,feature 在合并到 A,A',B 01/07 18:46
15F:推 bill0205: 建议拆project较好 谁知道客户会不会提出什麽鬼需求 01/07 18:53
16F:推 aaadult: 我之前的做法是一个mono repo project ,,A B 共用的部 01/07 19:50
17F:→ aaadult: 分会是共用的package ,,然後 A B 有自己的 package 做 01/07 19:50
18F:→ aaadult: 客制化的东西还有去引用共用的部分 01/07 19:50
19F:推 alihue: 除非你可以把共用核心抽出模组,客制功能做成 plugins 01/07 19:55
20F:→ alihue: 否则两个 branch 就只会渐行渐远。但你要每次都人工 merge 01/07 19:55
21F:→ alihue: 人工 check 每行 code 也不是不行 01/07 19:56
22F:→ accessdenied: A档案应该有发生冲突吧?合并过程中是有指定use rem 01/07 20:02
23F:→ accessdenied: ote or use local 吗? 01/07 20:02
24F:推 brianhsu: 和 19 楼想法类似,这应该是从程式码的层次下手,不然之 01/07 20:16
25F:→ brianhsu: 後如果有更多客制化呢?建议可以去研究一下 Clean Archi 01/07 20:16
26F:→ brianhsu: tecture / Configuration Management 这些东西。 01/07 20:16
27F:推 yamakazi: 我觉得你应该用config。不同案子吃不同config,其他程式 01/07 20:31
28F:→ yamakazi: 码一样 01/07 20:31
29F:→ yamakazi: 维持一套code就好 01/07 20:32
30F:→ yamakazi: Feature也可以做成feature toggle, 然後吃config决定哪 01/07 20:33
31F:→ yamakazi: 些feature要不要开 01/07 20:33
32F:推 vi000246: 为什麽不做在一起 再弄个权限控管 区分逻辑就好 01/07 20:59
33F:推 thumbe31949: 现在的公司也有类似的问题,我们的情境是有两台不同 01/07 21:15
34F:→ thumbe31949: device 上面要用一样的 android app,然後部分功能因 01/07 21:15
35F:→ thumbe31949: 应 device 的状况调整。目前是用两支branch 去做,有 01/07 21:15
36F:→ thumbe31949: 新增功能的话就 cherry-pick 过去。 01/07 21:15
37F:推 abccbaandy: 这个基本上最後都是业务问题不是技术问题,上面挡不住 01/07 21:29
38F:→ abccbaandy: 什麽神奇需求都接,你怎麽设计都没用 01/07 21:29
39F:→ viper9709: 推楼上 01/08 00:37
40F:推 doranako: 应该由程式码架构去着手,你这个做法会常常冲突,後续 01/08 07:52
41F:→ doranako: 的人也很难维护 01/08 07:52
42F:→ k1dave6412: 谢谢各位的回覆 01/08 15:29
43F:→ k1dave6412: 目前我应该会用 config 的方式去设定 01/08 15:29
44F:→ k1dave6412: 然後再重新 fork 01/08 15:29
45F:→ k1dave6412: 核心部份仰赖 ProjectA 更新 01/08 15:29
46F:→ k1dave6412: 其他客制就 call ProjectA 的功能再加上要改的东西 01/08 15:29
47F:→ k1dave6412: 如果是 project A 的环境变数相关或功能就用 config 01/08 15:29
48F:→ k1dave6412: 处理 01/08 15:29
49F:→ k1dave6412: 真的感谢大家提供这麽多意见 01/08 15:29
50F:推 neo5277: rebase 01/08 15:35
51F:→ leolarrel: 最後还是选fork,好奇不使用branch 的原因是? 01/08 17:45
52F:推 DCTmaybe: 直接开成新repo阿 01/08 18:02
53F:推 abc0922001: 开分支阿,顶多你推到不同的 remote 01/08 19:48
54F:推 p62448: 我比较好奇图中为何做了merge後A file还是A file,不是应 01/08 20:01
55F:→ p62448: 该变成A与A’ merge file 01/08 20:01
56F:推 aids61517: 我觉得thumbe31949你们需要的应该是dynamic feature或 01/08 20:19
57F:→ aids61517: 设定不同的buildTypes并设定sourceSet来做 01/08 20:19
58F:推 stu51211: 上下游剪patch也行吧 01/08 21:34
59F:→ k1dave6412: fork 的原因我觉得用起来和 branch 一样 01/09 02:41
60F:→ k1dave6412: 但是在不同的 repo 的感觉 01/09 02:41
61F:→ k1dave6412: 因为平时的 branch 就有很多大家各自开发的项目,所 01/09 02:41
62F:→ k1dave6412: 以就比较没有考虑 01/09 02:41
63F:→ k1dave6412: 还是大家有其他的建议(? 01/09 02:41
64F:推 shownlin: 同p大疑问 为何merge之後不是变A跟A’的merge file 01/09 05:02
65F:推 shownlin: A.file->A’.file是指对A进行更新还是根本是A.file换了 01/09 05:03
66F:→ shownlin: 名字 01/09 05:03
67F:→ k1dave6412: A' 是对A做修改 至於说为什麽结果这样 01/09 20:06
68F:→ k1dave6412: 我可能需要看 Gitlab 设定才知道 01/09 20:06
69F:→ k1dave6412: 我也很困惑,因为他和我想的不一样 01/09 20:06
70F:→ leolarrel: 可能你不知道branch 可以用'/'来分群组 01/11 14:31
71F:→ leolarrel: 不过采用fork 也不是不行,只是merge时是用push/pull 01/11 14:33
72F:→ k1dave6412: 什麽 居然有 / 分群?! 01/12 02:31
73F:→ k1dave6412: 另外图的问题发现是 Gitlab 在 conflict 的时候 Prev 01/12 02:31
74F:→ k1dave6412: iew 的 Bug... 害我误会了 01/12 02:31
75F:推 mirror0227: 让code可以吃configuration,不要直接分两版code 01/12 11:30
76F:→ jimmy789lee: git patch 01/13 13:07







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP