git
› Pro Git
› Atlassian Git Tutorial
› Pro Git 简体中文翻译
› GitX
hO0O0
V2EX  ›  git

功能 A 完成,但未上线。开始搞功能 B,但同时 B 里又需要 A 里的一部分代码

  •  
  •   hO0O0 · Dec 20, 2022 · 4921 views
    This topic created in 1422 days ago, the information mentioned may be changed or developed.

    各位遇到这种情况时,一般是从主分支上切一个新的,还是就在 A 的基础上切一个分支来搞?

    16 replies  •  2022-12-22 10:52:57 +08:00
    shenyu1996
    shenyu1996
    Dec 20, 2022
    1
    后者吧,但是要同步 rebase A 的后续更新
    Rache1
    Rache1
    Dec 20, 2022
    2
    A 未完成,就要考虑 A 已经修改过的部分对现有的业务是否会有影响, 如果没影响,那你自然可以基于 A 分支创建 B 。

    但是如果有影响,那如果你的 commit 足够细,cherry-pick 或许可以

    不过,如果需要的那部分代码不是很多的话,C/V 也何尝不可。
    KagurazakaNyaa
    KagurazakaNyaa
    Dec 20, 2022
    3
    先做 mock 吧,这是功能模块切分的不够好
    renmu
    renmu
    Dec 20, 2022 via Android
    4
    主分支切,然后复制黏贴
    renmu
    renmu
    Dec 20, 2022 via Android
    5
    因为你并不能确认功能 a 会比功能 b 先发
    msg7086
    msg7086
    Dec 20, 2022
    6
    把提交拆开,在含有 A 的提交之后分叉再继续开发。

    另外也可以用开关把 A 功能的其他部分先禁用掉,然后局部打开 feature flag 测试再在生产上启用。
    xuyang2
    xuyang2
    Dec 20, 2022
    7
    把 A 里的这一部分代码 单独拆个 PR 合了
    agmtopy
    agmtopy
    Dec 20, 2022
    8
    切主分支吧,保险起见,上线了未经测试的代码,锅是自己的
    xzysaber
    xzysaber
    Dec 20, 2022
    9
    所以需要多提交,不要写一大堆再提交。cherry-pick 是一种选择。
    ChefIsAwesome
    ChefIsAwesome
    Dec 20, 2022
    10
    把 a 重构,拆成模块。
    kaedeair
    kaedeair
    Dec 20, 2022
    11
    主分支切新的,然后从 A 的提交 cherry-pick 需要的进来
    brader
    brader
    Dec 20, 2022
    12
    你有信心 A 功能会先于 B 功能上线,就直接从 A 切分支,不然你会头大,产品和你说 B 功能先上的话,你会发现 B 里面掺杂了 A 的代码,出问题怎么办。。。
    NathanDo
    NathanDo
    Dec 20, 2022
    13
    给 A 功能加个开关
    voidcomma
    voidcomma
    Dec 21, 2022 via iPhone
    14
    先确定哪个先上线。
    lazyfighter
    lazyfighter
    Dec 22, 2022
    15
    cherry-pick
    unco020511
    unco020511
    Dec 22, 2022
    16
    得看是否已经测试通过(上没上线不是关键),如果 A 已经测试通过,那就说明 A 已经稳定了,当然可以 rebase.
    反之,就只能将公用部分先 pick 过来用
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4972 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 02:15 · PVG 10:15 · LAX 18:15 · JFK 21:15
    ♥ Do have faith in what you're doing.