V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
iEverX
V2EX  ›  问与答

git 多个分支有相同的的代码,如何同步

  •  
  •   iEverX · 2016-03-23 21:50:56 +08:00 · 3869 次点击
    这是一个创建于 3168 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题是这样:

    有两个分支,大部分代码相同,但是有几个文件的内容不同。 更新其中一个分支之后,如何在另一个分支中同步更改,并且保持这几个文件在各自分支中不变?

    谢谢!

    12 条回复    2016-03-23 22:58:14 +08:00
    cxbig
        1
    cxbig  
       2016-03-23 21:56:37 +08:00
    听上去你们的开发不是按照 git flow 的理念来做的
    做法如下:
    从 A 分支拉出一个 branch ,对相关文件做修改,然后用 --no-ff (no-fast-forward) 的方式分别合并到 A 、 B 、 C...
    clino
        2
    clino  
       2016-03-23 22:03:26 +08:00
    这种情况为什么不合并分支 用不同的参数控制编译出不同的应用之类的呢
    tracyone
        3
    tracyone  
       2016-03-23 22:05:15 +08:00
    @cxbig 请教下 git flow 的理念哪里可以学到?
    shibo501c
        5
    shibo501c  
       2016-03-23 22:16:06 +08:00
    cherry pick ?
    tracyone
        6
    tracyone  
       2016-03-23 22:34:32 +08:00 via Android
    @cxbig 哦其实作者就是简化了 git 操作而已吧,把他认为合理的 git 操作流程用 shell script 封装起来而已。
    cxbig
        7
    cxbig  
       2016-03-23 22:37:57 +08:00
    @tracyone 命令行增强只是一部分,重要的是协作模式
    iEverX
        8
    iEverX  
    OP
       2016-03-23 22:52:24 +08:00
    @cxbig 嗯,确实没有用 git flow

    多谢!
    iEverX
        9
    iEverX  
    OP
       2016-03-23 22:54:54 +08:00
    @shibo501c
    刚看了 cherry-pick ,确实可以,每次改动,都在另一个分支上 cherry-pick
    hugoqin
        10
    hugoqin  
       2016-03-23 22:56:08 +08:00
    @shibo501c 这种情况一般就用 cherry pick 搞了。以前也遇到过。
    但还是尽快的把两个分支合并到一起吧
    msg7086
        11
    msg7086  
       2016-03-23 22:57:55 +08:00
    Cherry-pick 其实是不太好的做法。
    理想情况是把差异放在分支上,主干只维护公共代码,分支频繁 Rebase 。
    不过呢,这种东西就真的是懂的人才懂,不懂的人就不懂,纯粹要用经验教训堆起来的知识。
    iEverX
        12
    iEverX  
    OP
       2016-03-23 22:58:14 +08:00
    @hugoqin
    两个分支最终的目的不一样,不会合并
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.