V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kevin1852
V2EX  ›  程序员

请教个 git 的问题

  •  
  •   kevin1852 · 2016-08-24 19:09:35 +08:00 · 2831 次点击
    这是一个创建于 3014 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问题是这样的,
    * 我从 develop 分支上 checkout 出一个 feature 分支(a)
    * 然后完成了以后 pull 了 develop
    * 然后 merge 了 develop 后发了 pull request
    * 然后 merge 了
    * 然后到现在为止中间有其他人 pull request&merge

    我先在想退回到我 checkout 分支 a 之前,并保留其他人的修改,怎么做?
    谢谢大家
    7 条回复    2016-08-25 09:53:16 +08:00
    xiubin
        1
    xiubin  
       2016-08-24 19:19:02 +08:00 via iPhone
    你的意思就是 不要 a 但是要其他分支的代码呗?

    [http://sanyucz.top/2016/03/25/Git-0/]( http://sanyucz.top/2016/03/25/Git-0/)

    直接拖到最后看就可以了
    wittyfox
        2
    wittyfox  
       2016-08-24 19:29:12 +08:00 via Android
    你这能不能好好说问题。
    wittyfox
        3
    wittyfox  
       2016-08-24 19:29:58 +08:00 via Android
    还要大家猜你的意思
    royzhanggy
        4
    royzhanggy  
       2016-08-24 19:41:47 +08:00
    revert 你自己的 pr , pull 最新的代码就行了,还有 rebase 就 rebase ,不要 merge 最新的代码来达到 rebase 的效果,这才是好习惯
    billlee
        5
    billlee  
       2016-08-24 20:02:23 +08:00
    方案一:
    git checkout a
    git rebase -i develop, 把那个引入 merge 的 commit 删掉
    这样 a 分支上应该就只有你的 commits 了。

    方案二
    git checkout -b b develop
    然后用 cherry-pick 把 a 分支上你自己的 commit apply 到 b 上,然后删掉 a 分支
    kevin1852
        6
    kevin1852  
    OP
       2016-08-24 20:36:29 +08:00 via iPhone
    @xiubin
    @royzhanggy
    @billlee
    谢谢,已经搞定了

    @wittyfox 确实表述的有点乱。。
    zhanfenghai
        7
    zhanfenghai  
       2016-08-25 09:53:16 +08:00
    可以把 a 回退到最初的 然后再把同事的合过来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:19 · PVG 05:19 · LAX 13:19 · JFK 16:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.