在 master 上开了一个分支,但是最后却要合并到 develop 上, 这个分支有 5 个提交,用什么命令比较好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
Zeahoo
V2EX    git

在 master 上开了一个分支,但是最后却要合并到 develop 上, 这个分支有 5 个提交,用什么命令比较好

  •  
  •   Zeahoo 2016-08-17 16:40:28 +08:00 9649 次点击
    这是一个创建于 3343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家帮帮忙, 我现在是准备用 cherry-pick 来提交,但是老是会报错,有没有什么其他的好办法

    19 条回复    2016-08-18 17:01:12 +08:00
    chenghuang
        1
    chenghuang  
       2016-08-17 16:43:03 +08:00
    git merge origin/master
    git merge origin/develop
    git cm
    git push
    merge request
    julyclyde
        2
    julyclyde  
       2016-08-17 16:44:46 +08:00
    似乎取决于你的 develop 和 master 啥关系啊
    Zeahoo
        3
    Zeahoo  
    OP
       2016-08-17 16:48:08 +08:00
    @julyclyde develop 是不稳定的版本,是基于 master 切出来的分支。
    julyclyde
        4
    julyclyde  
       2016-08-17 16:49:43 +08:00
    @Zeahoo merge-base develop master 是不是比 merge-base 新分支 master 要更早些?
    Zeahoo
        5
    Zeahoo  
    OP
       2016-08-17 16:54:46 +08:00
    @julyclyde 添加功能的时候都是先把功能 merge 到 develop 上再从 develop merge 到 master 上的,只不过我这次弄错了,从 master 切出分支
    wenbinwu
        6
    wenbinwu  
      &nbp;2016-08-17 17:00:09 +08:00
    直接 merge develop 不就行了么?
    9hills
        7
    9hills  
       2016-08-17 17:01:16 +08:00
    用 merge 的都是误人子弟哈,等着你的 history 一团乱吧

    git checkout to_merge_branch
    git checkout -b tmp_branch (复制临时分支,避免新手搞晕了头)
    git rebase develop (以 develop 为基准 rebase ,此时可能要处理冲突)
    git checkout develop
    git merge tmp_branch
    wangxn
        8
    wangxn  
       2016-08-17 17:04:30 +08:00 via Android
    git rebase
    cjyang1128
        9
    cjyang1128  
       2016-08-17 17:24:21 +08:00   1
    rebase -i && pick squash
    cherry-pick
    vwhenx
        10
    vwhenx  
       2016-08-17 17:28:13 +08:00
    按理说 master 分支是应该可以随时合并到其他分支的才对
    kisnows
        11
    kisnows  
       2016-08-17 17:52:00 +08:00
    rebase 冲突太多了,需要一次次的去解决。还是 merge 来的快一点
    Sharuru
        12
    Sharuru  
       2016-08-17 18:00:44 +08:00
    = = 一般自己的个人 dev 分支才会在 push 之前用用 rebase ,通常特性都是 merge 的。
    merge 的时候 squash 成一条 commit 信息就好,不然 history 太美。
    julyclyde
        13
    julyclyde  
       2016-08-17 20:18:58 +08:00
    cherry-pick 按说应该可以啊
    zhang6464
        14
    zhang6464  
       2016-08-17 20:30:47 +08:00
    @cjyang1128 正解, rebase 要带上基线,你的最早的 commit , cherry-pick 也可以把所有代码提出来,然后 stash save 一下, checkout 到 develop 再 pop
    zhang6464
        15
    zhang6464  
       2016-08-17 20:31:48 +08:00
    merge 需要你手动把不是你修改的代码剔除掉。。如果 diff 不是太多的话,也可以考虑 merge
    wweir
        16
    wweir  
       2016-08-18 10:04:21 +08:00
    @cjyang1128 个人感觉这样可能更好:
    rebase -i $(master && develop same base)
    rebase
    baikaishui77
        17
    baikaishui77  
       2016-08-18 12:23:50 +08:00
    @kisnows 才五个 commit 而且 commit 如果更多 可以先 rebase -i 合并 commit 再分支 rebase
    baikaishui77
        18
    baikaishui77  
       2016-08-18 12:35:45 +08:00
    cherry-pick 实际上效果和 rebase 一致
    zenliver
        19
    zenliver  
       2016-08-18 17:01:12 +08:00
    分别合并到 master 和 develop ~~~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1049 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:02 PVG 02:02 LAX 11:02 JFK 14:02
    Do have faith in what you're doing.
    ubao 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