V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
sarices
V2EX  ›  git

怎样合并某一个版本到任意分支?

  •  
  •   sarices · 2014-10-13 15:11:44 +08:00 · 3427 次点击
    这是一个创建于 3700 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在有很多不同分支的情况下,每一个版本的进度都不同
    如果我在其中一个分支做了一个新功能
    能不能单独将这个功能的几个commit合并到某一版本
    9 条回复    2014-10-15 14:12:43 +08:00
    Mcatt
        1
    Mcatt  
       2014-10-13 15:30:32 +08:00   ❤️ 1
    cherry pick?
    wjl327
        2
    wjl327  
       2014-10-13 17:39:31 +08:00
    先创建一个你要合并的版本的分支
    比如:git checkout <commit > -b tmp1
    然后把你那几个commit分支合并到那个tmp1
    sarices
        3
    sarices  
    OP
       2014-10-13 17:41:58 +08:00
    @wjl327 这样合并有一个问题就是会把不需要的修改合并了,还是@Mcatt 的方法好用,只是不能批量合并而已
    allenm
        4
    allenm  
       2014-10-13 17:45:31 +08:00
    cherry pick 好使。
    dorentus
        5
    dorentus  
       2014-10-14 00:37:28 +08:00 via iPad   ❤️ 1
    想批量的话,用 rebase -i 批量选择 commits
    大致上就是搞个临时分支来放选好的这些 commits,然后直接 merge 过去
    webjin
        6
    webjin  
       2014-10-14 01:27:04 +08:00 via Android
    不错
    iamleung
        7
    iamleung  
       2014-10-14 19:03:36 +08:00   ❤️ 1
    git cherry-pick,或者自己生成patch后给某个分支手动打上,应该都可以
    sarices
        8
    sarices  
    OP
       2014-10-15 08:55:07 +08:00
    @iamleung git format-patch对吧?
    iamleung
        9
    iamleung  
       2014-10-15 14:12:43 +08:00
    @sarices 是的。git format-patch会生成一系列的patch文件,比较规范;
    但如果这个分支下的提交记录比较直线的话,使用git diff更加简单粗暴
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3853 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.