• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kevin1852
V2EX  ›  程序员

请教个 git 的问题

  •  
  •   kevin1852 · Aug 24, 2016 · 3675 views
    This topic created in 3574 days ago, the information mentioned may be changed or developed.
    问题是这样的,
    * 我从 develop 分支上 checkout 出一个 feature 分支(a)
    * 然后完成了以后 pull 了 develop
    * 然后 merge 了 develop 后发了 pull request
    * 然后 merge 了
    * 然后到现在为止中间有其他人 pull request&merge

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

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

    直接拖到最后看就可以了
    wittyfox
        2
    wittyfox  
       Aug 24, 2016 via Android
    你这能不能好好说问题。
    wittyfox
        3
    wittyfox  
       Aug 24, 2016 via Android
    还要大家猜你的意思
    royzhanggy
        4
    royzhanggy  
       Aug 24, 2016
    revert 你自己的 pr , pull 最新的代码就行了,还有 rebase 就 rebase ,不要 merge 最新的代码来达到 rebase 的效果,这才是好习惯
    billlee
        5
    billlee  
       Aug 24, 2016
    方案一:
    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
       Aug 24, 2016 via iPhone
    @xiubin
    @royzhanggy
    @billlee
    谢谢,已经搞定了

    @wittyfox 确实表述的有点乱。。
    zhanfenghai
        7
    zhanfenghai  
       Aug 25, 2016
    可以把 a 回退到最初的 然后再把同事的合过来
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3778 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
    ♥ Do have faith in what you're doing.