首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
V2EX  ›  git

[咨询] 关于 git 版本管理

  •  
  •   daodao116 · 101 天前 · 2132 次点击
    这是一个创建于 101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的分支管理比较乱,因为是多个项目,且甲方都很强势,个性化需求非常多。但是作为同一个产品其实也有蛮多共性化的东西。

    开始打算是不同的项目在不同的分支上开发,不同的特性抽取出来之后做成开关之类的,去不同的甲方部署,就配置不同的开关。这些然后最后都要合并到主干上,形成统一的产品。

    但是理想是丰满的,现实是骨感的。因为进度非常紧,全部抽取成产品模块,工期会拉长,一般求进度就先做了再说。搞到最后,只有一些小客户遵循这样的模式,大客户就在不同的分支上迭代了,有些产品经理觉得可以抽取到产品上的,又几乎是通过手工方式合并到主干上,版本现在搞的非常乱,又合不起来。

    不知道针对这种同一个产品衍生粗来,但是每个客户又有很多定制化需求的版本控制,各位大佬有什么好一点的建议么?

    18 回复  |  直到 2019-04-10 18:32:43 +08:00
        1
    gz911122   101 天前
    不知道 没待过乙方
    但是我从你的描述来看这种情况无解
        2
    x7395759   101 天前
    你们的人够多吗?够多就可以做成模块提取,不够多就分开吧,合不起来就合不起来吧
        3
    sonyxperia   101 天前
    抽取部分人开发产品化的新项目;另外的人维护老版本;逐步推进升级到新版本
        4
    wangkun2012324   101 天前
    严格实施组件化,各组件均区分版本,配置表管理各组件版本
        5
    huahuajun9527   101 天前
    定制化都是手工活。。。
    将功能拆分成模块,做一个能满足这类需求的框架,基于这个框架来做定制化开发。

    不过之后肯定会遇到一些奇葩的甲方提出的奇葩需求,框架不能很好的实现这些功能,这时又会回到最初的样子。。。
        6
    shawndev   101 天前
    git submodule
        7
    HangoX   101 天前
    因为定制化的问题,抽象是很难抽象的,建议直接建立一个母项目,然后所有人 fork 那个项目之后修改,需要共性的时候往母项目提 pull request 就好了
        8
    wwwwzf   101 天前
    用 svn 好了
        9
    shuang   101 天前
    关注,我们也有同样的问题
    我们是优先通过开关控制
    然后在主线上同一功能做多个不同版本,通过菜单权限控制
    再不行了就开分支,目前也是很混乱
        10
    passerbytiny   101 天前
    定制化开发,若甲方强势,则实质上每个甲方都是一个新的树,不再是分支。Git 对此无解。
        11
    reus   101 天前
    产品不标准化,客户想要什么就有什么,这种产品是没办法快速复制,没办法做大的,收益抵不上成本

    参考福特汽车早期的案例,标准化的流水线,可以击败那些效率低下的定制化工厂,不管你要什么,我就只有标准化的汽车。虽然没有定制,但成本低,可以卖得便宜

    所以,定制化的,要么只靠几个大客户生存,要么就放弃定制化,要么就靠压榨员工不管质量
        12
    daodao116   101 天前
    @wangkun2012324 现在大概也是想走这条路了。只能尝试一下。
        13
    ben1024   101 天前
    要区分是 git 混乱,还是项目混乱
        14
    danyi   100 天前
    关注,同样有这样的困扰。
        15
    Fule   100 天前
    看起来楼主的情况,很难用分支处理。尤其是如果甲方 A 的功能甲方 B 也想要,但是甲方 C 不要。又或者甲方 D 和甲方 E 的需求根本就是矛盾的。这些情况分支似乎解决不了问题。我能想到的就是压根不要用分支,全都做在一起,纯利用开关来处理。当然,久而久之,开关关系错综复杂,一个小地方会被多个开关影响,理解起来也是非常混乱的。除非事先自己的规划和分析以及有份及时更新的文档,不过看楼主这情况,基本上也不太可能吧。总之,这个问题开发方面似乎没有什么“完美”的解决方法。。。
        16
    sunocean   100 天前
    submodule +1
        17
    daodao116   100 天前
    @sunocean 我研究一下,谢谢。
        18
    haozibi   100 天前
    为什么不做成模块化的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2297 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.