首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只将一次提交从分支A移动到分支B

只将一次提交从分支A移动到分支B
EN

Stack Overflow用户
提问于 2017-02-18 02:13:52
回答 1查看 63关注 0票数 0

我确信这个问题是重复的,但我找不到正确的答案,因为返回的答案太多了,而且每个答案都不适合我。

我有分支A,commits 1 -> 2 -> 3 -> 4 -> 5 -> 6 (commit 6是最新的)。

我有分支B,提交数为1,->为2 (2是最新的)

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

我想要的最终结果是

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都移动到master。我只想要62ecb3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-18 02:25:10

代码语言:javascript
复制
$ git checkout branch-B
$ git cherry-pick commit-6
$ git checkout branch-A
$ git reset --hard HEAD^

它看起来像这样的git checkout branch-B

代码语言:javascript
复制
A--B            (branch-B) (HEAD)
    \
     C--D--E--F (branch-A)

git cherry-pick F

代码语言:javascript
复制
A--B--F'         (branch-B) (HEAD)
    \
     C--D--E--F  (branch-A)

git checkout branch-A

代码语言:javascript
复制
A--B--F'         (branch-B)
    \
     C--D--E--F  (branch-A) (HEAD)

git reset --hard HEAD^

代码语言:javascript
复制
A--B--F'         (branch-B)
    \
     C--D--E     (branch-A) (HEAD)
            \
             F   (detached and will be garbage collected)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42304804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档