git rebase 是不是就是跟 merge master 到你的 branch 产生代码的效果一样的, 不考虑 history log 等其他的因素 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vunlin
V2EX    问与答

git rebase 是不是就是跟 merge master 到你的 branch 产生代码的效果一样的, 不考虑 history log 等其他的因素

  •  
  •   vunlin 2014-11-02 10:50:25 +08:00 4607 次点击
    这是一个创建于 4062 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2014-11-02 11:56:28 +08:00
    或者说 rebase 就是merge master 到你的branch 的一种名词和说法
    5 条回复    2014-11-03 09:52:14 +08:00
    iloahz
        1
    iloahz  
       2014-11-02 11:45:01 +08:00   1
    感觉最终结果应该是差不多的,如果大家对解决冲突的意见统一的话
    finian
        2
    finian  
       2014-11-02 12:31:55 +08:00 via Android   1
    看你怎么定义「效果」,如果以最终代码是否一样作为判断标准,则效果是一样的(前提是解决冲突的方式一致),但两种方式的 commit history 有很大不同。

    merge 的优点是能直观地区分 commit 边界(比如能区分哪一坨 commit 是逻辑相关的,如在一个 feature branch 内)。缺点是 merge 多了 commit history 整个看起来可能会很混乱;rebase 的优点是能使 commit history 看起来更清晰,能整成线性的,看起来如同一个人提交地一般。缺点就是 commit 之间的逻辑相关性被去掉了,看不出边界。还有一点很重要,rebase 会修改 commit history,所以解决冲突时要慎重,搞不好会搞丢代码。

    一般建议在开发分支合并到主分支时使用 merge (保留开发分支逻辑边界);开发分支同步主分支更新时使用 rebase (使开发分支 commit history 更清晰)。

    之前我们在同步主分支更新时就使用 rebase,由于当时对 SourceTree 的 rebase 解决冲突的 use mine 和 use their 理解有误,导致代码改动丢失了,幸好 IDE 有本地历史可以恢复。后来考虑到 rebase 会修改历史,最后还是采用 merge 的方式了。
    julyclyde
        3
    julyclyde  
       2014-11-02 17:30:07 +08:00
    @finian lz问的是merge feature branch into master啊。理论上连commit history都应该相同
    vunlin
        4
    vunlin  
    OP
       2014-11-03 00:18:37 +08:00
    @finian 你用merge master 到 分支 branch 来阶段性同步 分支branch 开发吗? 还是等分支好了, 一下子merge 到 master?
    finian
        5
    finian  
       2014-11-03 09:52:14 +08:00
    @vunlin 看具体情况吧,如果 master 有 branch 需要的东西就阶段性 merge,没有就一次性
    a href="https://www.digitalocean.com/?refcode=1b51f1a7651d" target="_blank">
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2381 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:46 PVG 23:46 LAX 07:46 JFK 10:46
    Do have faith in what you're doing.
    ubao msn 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