V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tsaohai
V2EX  ›  问与答

问一个 git 分支的问题

  •  
  •   tsaohai · 2018-03-22 14:46:14 +08:00 · 1565 次点击
    这是一个创建于 2447 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假设情景:目前 master 分支有了 4 次 commit,我从 C1 开了一个 dev 分支,并 commit 了一次 D1
    需求:现在想在 dev 分支继续合并 master 的 C2
    不知道该怎么操作,请问有没有朋友能指导一下,或者给个关键词让我搜索一下。
    在此先行谢过了!
    图片二楼放
    14 条回复    2018-03-22 20:05:04 +08:00
    tsaohai
        1
    tsaohai  
    OP
       2018-03-22 14:54:08 +08:00
    sonack
        2
    sonack  
       2018-03-22 14:55:31 +08:00 via Android   ❤️ 1
    git merge c2 的 sha 码
    songz
        3
    songz  
       2018-03-22 14:55:32 +08:00   ❤️ 1
    什么是继续合并?
    假设你是想 dev 分支包括 C2:
    `checkout dev`
    `cherry-pick C2`
    sea516
        4
    sea516  
       2018-03-22 14:56:21 +08:00   ❤️ 1
    cheery pick
    tsaohai
        5
    tsaohai  
    OP
       2018-03-22 14:56:25 +08:00
    @sonack #2 多谢,感觉自己像个 ruozhi
    tsaohai
        6
    tsaohai  
    OP
       2018-03-22 14:58:15 +08:00
    @songz #3 是想在 dev 的 d1 后包含 c2。多谢!
    tsaohai
        7
    tsaohai  
    OP
       2018-03-22 15:04:54 +08:00
    结帖了,多谢回复的朋友们!🙏
    siguretto
        8
    siguretto  
       2018-03-22 16:10:14 +08:00
    路过皮一下,我更喜欢 git rebase c2
    msg7086
        9
    msg7086  
       2018-03-22 16:29:04 +08:00 via Android
    这就是变基。
    本来 c2 的基是 c1,你要把他加到 d1 后面,两种做法。
    一是把 c2 到 c4 的提交嫁接下来,用 Cherry pick,另一个就是变基,用 rebase。
    我不用命令行,所以具体命令就不给了。GUI 上拖一下一秒的事情。
    msg7086
        10
    msg7086  
       2018-03-22 16:30:11 +08:00 via Android
    merge c2 应该是一种对 merge 的误用。
    azygote
        11
    azygote  
       2018-03-22 17:02:12 +08:00 via iPhone
    如果 dev 分支是一个私有的分支(本地 or 只有你一个人开发)可以用 rebase,如果是公共的分支(已经被 push 到远程而且其他人也在用)那还是用 cherry pick 吧
    azygote
        12
    azygote  
       2018-03-22 17:04:07 +08:00 via iPhone   ❤️ 2
    其实最好的做法是在 master C1 这个 commit 上 checkout 出来一个 hotfix 分支,在上面完成功能,然后同时 merge 到 master 以及 dev。可以 google 搜一下 gitflow
    sonack
        13
    sonack  
       2018-03-22 18:11:19 +08:00 via Android   ❤️ 1
    @tsaohai 楼上的各位大佬也都说了 这个虽然可以用但是不推荐。最好还是用 rebase 或者 cherrypick
    mritd
        14
    mritd  
       2018-03-22 20:05:04 +08:00 via iPhone   ❤️ 1
    Gitflow 了解下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3760 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:18 · PVG 12:18 · LAX 20:18 · JFK 23:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.