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

基于一份代码修改的程序, 怎么同步提交?

  •  
  •   edk24 · 2021-01-03 14:10:17 +08:00 · 3101 次点击
    这是一个创建于 1181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有三个仓库的代码,都是同一份代码二开的, 但是经常有那种共同的修改。 能不能我在仓库 a 修改测试成功了,再同步给仓库 b 仓库 c ?

    有没有这种操作?

    19 条回复    2021-01-04 14:37:36 +08:00
    wzzzx
        1
    wzzzx  
       2021-01-03 14:23:15 +08:00   ❤️ 1
    同时的话,我能想到的就是脚本了。。。不同时的话,cherry-pick 可以跨仓库
    abersheeran
        2
    abersheeran  
       2021-01-03 14:36:42 +08:00
    同问,我也有这样的困扰。
    ferock
        3
    ferock  
       2021-01-03 14:41:38 +08:00 via iPhone
    shell 脚本自己解决啊,commit hook,push hook 也是有的…关键还是代码合并,哪些你要同步哪些你不想同步才是麻烦的地方
    edk24
        4
    edk24  
    OP
       2021-01-03 14:54:35 +08:00
    @ferock 对啊, 他也不是无脑复制, 既然分三个版本 都有各自的差异改动。 这是罪恼火的
    ferock
        5
    ferock  
       2021-01-03 15:06:22 +08:00 via iPhone
    手工合并,无他
    reus
        6
    reus  
       2021-01-03 15:08:17 +08:00
    cherry-pick
    falcon05
        7
    falcon05  
       2021-01-03 15:14:45 +08:00 via iPhone
    以前我也是,一份收费版,一份免费版。共同的特性在免费版开发,然后导出差异,合并到收费版。
    anmie
        8
    anmie  
       2021-01-03 16:11:38 +08:00
    就本地一份代码 连接 3 个仓库呗。。。总共就三次 push 指令 我觉得没多麻烦呢
    lights
        9
    lights  
       2021-01-03 18:35:51 +08:00 via iPhone
    试试从架构设计上做手脚?相同的部分,保留在同一个架构,不同的部分再单独开仓库
    meloncc
        10
    meloncc  
       2021-01-03 19:05:06 +08:00
    cherry-pick
    AsiaToyo
        11
    AsiaToyo  
       2021-01-03 19:17:11 +08:00
    github 的團隊開發?項目在團隊建立,各自 fork,最後 pull 合並
    ljpCN
        12
    ljpCN  
       2021-01-03 19:23:01 +08:00 via iPhone
    mono repo ; git submodule ;抽取共同依赖
    raaaaaar
        13
    raaaaaar  
       2021-01-03 21:52:32 +08:00 via Android
    写个脚本触发吧,比如 travis 什么的
    nuistzhou
        14
    nuistzhou  
       2021-01-03 23:38:24 +08:00 via iPhone
    那就把共同的需要常修改的那部分做成 submodule ?
    msg7086
        15
    msg7086  
       2021-01-04 00:42:28 +08:00 via Android
    遇事不决 rebase 。
    1423
        16
    1423  
       2021-01-04 01:23:29 +08:00 via iPhone
    在本地合并成一个 repo 的三个分支,问题就简化成其他分支合并代码了。远程 repo 可以区分开 track,这样只有本地这一份是有完整的三个分支,远程还是原样
    newtype0092
        17
    newtype0092  
       2021-01-04 08:56:52 +08:00
    打个 patch 可以吧?
    nano91
        18
    nano91  
       2021-01-04 09:18:54 +08:00
    1 楼正解 cherry-pick 好用的不行
    Rache1
        19
    Rache1  
       2021-01-04 14:37:36 +08:00
    可以用 patch,看了上面的才发现,cherry-pick 还可以跨仓库,学习了 😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5315 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:05 · PVG 17:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.