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

Git Flow和Github Flow

  •  
  •   hooopo 2013-03-07 21:56:22 +08:00 6467 次点击
    这是一个创建于 4657 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12 条回复    1970-01-01 08:00:00 +08:00
    amoblin
        1
    amoblin  
       2013-03-07 22:02:56 +08:00
    好文章!打算有机会实践一下Github Flow。
    shanks
        2
    shanks  
       2013-03-08 00:22:59 +08:00
    up主的网站UI挺不错的样子,求问怎么实现的?
    clowwindy
        3
    clowwindy  
       2013-03-08 00:39:40 +08:00
    加一点比较好,一旦 master 接受一个 PR,其它 PR 要重新 rebase 之后才能被接受,保证 merge PR 是纯 fast forward 的。
    hooopo
        4
    hooopo  
    OP
       2013-03-08 00:55:28 +08:00
    @clowwindy 一般merge PR都是no-ff的哇 为什么要fast forward
    clowwindy
        5
    clowwindy  
       2013-03-08 09:39:00 +08:00 via iPhone
    @hooopo 把 merge 责任交给分支开发者,保持 master 是直的
    hooopo
        6
    hooopo  
    OP
       2013-03-08 10:09:44 +08:00
    @clowwindy master分支是直的没有任何意义。master分支应该能体现各个功能的并行开发状态,这样容易追踪bug和直观看出哪些commit属于哪个功能。还有一个优点是可以方便的revert/reset一组相关commit。

    所以 merge到master/develop分支一定要加--no-ff参数。

    rebase或squash一般在本地分支比较好,让本来应该是直的线索是直的。
    Saito
        7
    Saito  
       2013-03-08 10:19:29 +08:00
    @hooopo +1024
    hooopo
        8
    hooopo  
    OP
       2013-03-08 10:27:23 +08:00
    @Saito 好不容易在v2ex找到发帖按钮。。
    joshokn
        9
    joshokn  
       2013-03-08 10:38:37 +08:00
    尝试过gitflow一段时间,感觉将merge这种事情交给工具做真不靠谱。尤其是多branch同时开工的情况下。如果你的环境很简单,确实可以省些力气
    clowwindy
        10
    clowwindy  
       2013-03-08 18:25:47 +08:00 via iPhone
    @hooopo pr rebase 之后 diff 只包含这个功能,不像 merge 那样 diff 没法看
    hooopo
        11
    hooopo  
    OP
       2013-03-11 01:15:21 +08:00
    @clowwindy 不存在你说的merge diff无法看的问题啊 一个PR包含的更改就是从master fork出分支状态到merge进master状态,看diff就是看fork点和merge点的变更。

    如果每个分支上的开发者都需要关心其他分支的变更,并且rebase和解决冲突,这样就把并行开发变成了线性开发了。
    WarWithinMe
        12
    WarWithinMe  
       2013-03-11 09:57:59 +08:00
    想问一下,为了确保master总是能deploy,测试人员总是需要将master合并到分支dev中,然后进行测试吗?
    如果这个测试期间有其他分支合并到master的话,那么当前的dev分支怎么办?再合并然后重新进行测试?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2612 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 11:57 PVG 19:57 LAX 03:57 JFK 06:57
    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