首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个分支提交到GIT中的另一个新分支?

如何将一个分支提交到GIT中的另一个新分支?
EN

Stack Overflow用户
提问于 2014-09-24 18:17:33
回答 1查看 92关注 0票数 4

我已经为我的工作开发了git分支,我创建了一个名为feature1的新分支,并完成了提交1、2、3和4。

我需要将提交3,4从feature1分支移到新创建的分支feature2。

提交3,4应该从feature1中删除并添加到一个新的分支feature2中,因此最终的结果应该是类似于带有1的feature1,以及带有3和4的2分支和feature2。

请注意,目前我已经开发和feature1分支机构。feature2还没有添加。

实现这一目标的最佳途径是什么?我试过采樱桃,但想确定最好的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 18:44:53

如果我正确理解你的描述,你的回购现在看起来是这样的,

代码语言:javascript
复制
... -- o [develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

你想让它看起来像那样

代码语言:javascript
复制
         3'-- 4'[feature2]
        /
... -- o [develop]
        \
         1 -- 2 [feature1]

对,是这样?如果是这样,请执行以下操作。

首先,确保你处于干净的工作状态。然后,创建并签出一个名为feature2的分支,该分支指向与develop相同的提交

代码语言:javascript
复制
git checkout -b feature2 develop

你的回购将如下所示。

代码语言:javascript
复制
... -- o [HEAD=feature2,develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

樱桃-选择两个感兴趣的提交(34):

代码语言:javascript
复制
git cherry-pick <commit-ID-of-3> <commit-ID-of-4>

在此之后,您的回购将如下所示。

代码语言:javascript
复制
         3'-- 4'[HEAD=feature2]
        /
... -- o [develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

最后,查看您的feature1分支并将其重置为两个提交返回:

代码语言:javascript
复制
git checkout feature1
git reset --hard HEAD~2

你的回购会如愿以偿,

代码语言:javascript
复制
         3'-- 4'[feature2]
        /
... -- o [develop]
        \
         1 -- 2 [HEAD=feature1]

你就会处于一个干净的工作状态。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26023761

复制
相关文章

相似问题

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