网页项目开源后,想增加一个 pro 版(官方云服务版),两个版本的源码如何管理好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
kongkongye

网页项目开源后,想增加一个 pro 版(官方云服务版),两个版本的源码如何管理好?

  •  2
     
  •   kongkongye
    kongkongye Nov 9, 2024 2420 views
    This topic created in 534 days ago, the information mentioned may be changed or developed.

    如果所有代码都写一个开源仓库里,那用户部署后也可以配置账号登录,付费这些东西,明显就不合适。 大家谁有经验吗?

    12 replies    2024-11-12 09:38:15 +08:00
    sduoduo233
        1
    sduoduo233  
       Nov 9, 2024 via Android
    一个公开仓库,一个私有仓库。像之前 clash 那样
    kongkongye
        2
    kongkongye  
    OP
       Nov 9, 2024 via iPhone
    @sduoduo233 一个前端项目一个后端项目,是用分支的形式吗?还是 fork 自己的仓库再修改?以及后面合并上游代码会不会经常冲突?
    kneo     3
    kneo  
       Nov 9, 2024 via Android   1
    子项目/组件的方式管理。付费的功能单独一个仓库。靠分支怕不是要上天。
    joyoyao
        4
    joyoyao  
       Nov 9, 2024
    git remote 可以添加多个仓库,一个公开仓库,一个私有仓库。不同的分支管理。公开分支就提交到公开仓库,公开分支和私有分支都可以提交到私有仓库。
    joyoyao
        5
    joyoyao  
       Nov 9, 2024
    方案二:私有仓库引用公开仓库 类似 Git Submodules 方案
    summerLast
        6
    summerLast  
       Nov 9, 2024
    一个项目,两个分支,不同分支不同的远程仓库
    importmeta
        7
    importmeta  
       Nov 9, 2024
    参考 BullMQ 这个产品.
    NoDataNoBB
        8
    NoDataNoBB  
       Nov 9, 2024
    主要是代码合并、冲突的问题吧
    kongkongye
        9
    kongkongye  
    OP
       Nov 9, 2024 via iPhone
    @NoDataNoBB 对的
    kongkongye
        10
    kongkongye  
    OP
       Nov 9, 2024 via iPhone
    @importmeta 很多类似的项目,云服务部分没开源,所以也只能猜测了
    lisxour
        11
    lisxour  
       Nov 9, 2024
    应该要以功能模块、插件的形式开发,而不是两套独立并行开发
    clemente
        12
    clemente  
       Nov 12, 2024
    私有化的走 submodule + 两种发布包
    或者统一一个发布包, 私有化的部分用二进制形式集成, 登录页面分流
    About     Help     Advertise     Blog     API     FAQ     Solana     1054 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 22:50 PVG 06:50 LAX 15:50 JFK 18:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86