github 上的多次 pr 怎么才能始终只包含 1 个 commit? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
felixin
V2EX    问与答

github 上的多次 pr 怎么才能始终只包含 1 个 commit?

  •  
  •   felixin 2021-01-25 15:51:29 +08:00 2530 次点击
    这是一个创建于 1775 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一次 fork 后,提交一个 pr a 包含一个 commit a,被上游合并了。

    接着在本地 pull upstream,这时候会有个 merged from ... 的 commit 在我的 fork 上。

    接着我在本地做第二次修改,又产生了一个新的 commit b,开一个新的 pr b,但是这个 pr 和上游的分叉点还是在 commit a 之前,因此这个 pr 会包含 commit a 和 b 。

    请问该如何让 pr b 只包含 commit b ?在不重新 fork 的情况下。

    7 条回复    2021-01-25 19:33:30 +08:00
    xiri
        1
    xiri  
       2021-01-25 16:21:42 +08:00
    pull 的时候用 rebase 合并就不会有那个 merged from 的 commit 了
    channingcheng
        2
    channingcheng  
       2021-01-25 17:04:07 +08:00
    @xiri
    jaween
        3
    jaween  
       2021-01-25 17:35:42 +08:00
    rebase,刚在掘金看到的
    msg7086
        4
    msg7086  
       2021-01-25 17:46:38 +08:00 via Android
    pull 的时候默认做 fetch+merge 。而这里 merge 是错误操作。
    zdt3476
        5
    zdt3476  
       2021-01-25 18:27:52 +08:00 via iPhone
    git pull rebase
    catror
        6
    catror  
       2021-01-25 18:51:59 +08:00 via Android
    master 分支和上游保持同步,修改代码建新的分支
    mxalbert1996
        7
    mxalbert1996  
       2021-01-25 19:33:30 +08:00 via Android
    如果上游没对你的 PR 做修改,那么你 pull upstream 的时候会直接 fast forward,不会有额外的 commit 。如果上游是修改以后合并,那么你应该用 rebase 。另外建议设置 pull 时仅限 ff ( git config pull.ff only ),最新版的 git 已经会在你没有指明 pull 模式的时候显示警告。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2568 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:29 PVG 12:29 LAX 20:29 JFK 23:29
    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