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

问一个 git 分支的问题

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