将一个提交从分支A转移到分支B

  • 本文关键字:分支 转移 提交 一个 git
  • 更新时间 :
  • 英文 :


我敢肯定这个问题是重复的,但是由于返回太多答案,每个人都不适合我。

,我无法找到正确的答案。

我的分支A具有1-> 2-> 3-> 4-> 5-> 6(Commit 6是最近的)。

我的分支B带有1-> 2(2是最新的)

我只想将commit 6从分支A移动到分支B。因此3、4、5应该保留在分支A中。

我想要的最终结果是

a = 1-> 2-> 3-> 4-> 5-> 6B = 1-> 2-> 6

这可能吗?抱歉,如果这是常见问题解答,请重复或不合逻辑。

我搜索了谷歌搜索,但我发现的所有答案都指出了我的结论,即6之前的每个提交也会移动...所以我没有办法在不服用3、4、5

的情况下服用6

我谷歌搜索我找到了这个教程

https://ariejan.net/2010/06/10/cherry-picking-specific-commits-from-another-branch/

但是,在这里,一旦完成樱桃的挑选,两提交76CADA -62ECB3转移到主人。我只需要62ecb3

$ git checkout branch-B
$ git cherry-pick commit-6
$ git checkout branch-A
$ git reset --hard HEAD^

看起来像这个git checkout branch-B

A--B            (branch-B) (HEAD)
    
     C--D--E--F (branch-A)

git cherry-pick F

A--B--F'         (branch-B) (HEAD)
    
     C--D--E--F  (branch-A)

git checkout branch-A

A--B--F'         (branch-B)
    
     C--D--E--F  (branch-A) (HEAD)

git reset --hard HEAD^

A--B--F'         (branch-B)
    
     C--D--E     (branch-A) (HEAD)
            
             F   (detached and will be garbage collected)

最新更新