V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
spikedingo
V2EX  ›  程序员

git 或者其他版本管理能否实现这样的功能?内详

  •  
  •   spikedingo · 2019-09-30 15:11:16 +08:00 · 2082 次点击
    这是一个创建于 1641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一套代码,经常会改几个名字或者参数应用到一个新的小程序上去,但是不同小程序纯在不同程度的后续迭代与修复,这样到最后的结果就是要将所有代码都同步为最新版本是十分困难的事

    有没有办法可以以一套代码为基础,标注出不同小程序独特的部分,每次新增只用改动独特部分就可以了

    12 条回复    2019-10-02 23:00:35 +08:00
    jmc891205
        1
    jmc891205  
       2019-09-30 15:15:48 +08:00 via iPhone
    把需要改动的部分抽出来变成配置文件
    dengshen
        2
    dengshen  
       2019-09-30 15:16:29 +08:00 via iPhone
    分支
    sowevo
        3
    sowevo  
       2019-09-30 15:23:44 +08:00
    配置文件
    Rwing
        4
    Rwing  
       2019-09-30 15:26:16 +08:00
    难道不是做一个公共类库吗?
    VDimos
        5
    VDimos  
       2019-09-30 15:27:22 +08:00 via Android
    这不就分支吗
    dorentus
        6
    dorentus  
       2019-09-30 15:46:01 +08:00
    公共的部分抽出来。
    能做成配置的做成配置。
    不能做成配置的做成插件,拆分成独立的工程。
    该做好版本控制的都做好版本控制。
    做一个打包 /发布系统,可以根据不同的配置、插件随时打包出想要的软件包。

    你看,其实这些跟 VCS 其实没啥关系……
    RubyJack
        7
    RubyJack  
       2019-09-30 15:48:31 +08:00   ❤️ 1
    master 堆特性, 分出去分支做不同配置, 然后分支不断 merge master
    sdushn
        8
    sdushn  
       2019-09-30 15:52:49 +08:00
    搜索关键词 分支,merge,cherry pick 感觉应该可以实现你的要求,而且不需要抽代码,直接源代码基础上改就行
    yinft
        9
    yinft  
       2019-09-30 16:41:11 +08:00
    创建新分支改完 merge 就是了。。。
    spikedingo
        10
    spikedingo  
    OP
       2019-09-30 16:49:09 +08:00
    @RubyJack 感觉这个方案比较不错,简单明了~
    msg7086
        11
    msg7086  
       2019-10-01 07:27:28 +08:00 via Android
    分支不断 rebase 就行了。这和我们做软件 mod 版很像。
    kyuuseiryuu
        12
    kyuuseiryuu  
       2019-10-02 23:00:35 +08:00
    你这得用 fork。因为各个新特性已经独立出来,每一个单独出来的改动都会有针对性的后续维护,所以不能再合并到当初的那个 master 了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5289 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:31 · PVG 17:31 · LAX 02:31 · JFK 05:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.