首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Git将提交转移到另一个分支

使用Git将提交转移到另一个分支
EN

Stack Overflow用户
提问于 2014-06-04 15:30:49
回答 1查看 2.7K关注 0票数 1

我需要使变化集2-5在红色(最左边)分支上,而不是在蓝色树枝上。得到了奇怪的结果与重新基地,因为2-5是“基于”的1无论如何。我要摘樱桃吗?我目前正在使用源树。

提交2-5必须只出现在蓝色分支后,拉请求。这意味着它们必须出现在红色的树枝上,得到批准,然后才能合并成蓝色的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-04 15:34:42

那就把分支合并。Git将执行快速前向合并(不会创建合并提交),因为在红色分支上没有提交,结果是提交2到5是“在红色分支上”--实际上,分支指针将被移动到指向5,这似乎就是您想要的。

代码语言:javascript
运行
复制
$ git checkout <red branch>
$ git merge <blue branch>

# or

$ git merge <commit id of 5>

RE:您的最新消息

看起来您想要“移动”提交到红色分支。你不能那样做,这不是Git的工作方式。您永远不能“移动”提交,您只移动分支指针。

如果希望提交只出现在红色分支上,基本上只需要交换分支指针。您可以通过一系列git reset --hard来实现这一点,或者像上面一样将蓝色分支合并到红色分支中,然后将蓝色分支重置到提交2之前的点。您必须选择哪个点,也就是说,因为提交2是合并提交。通过将其重置为origin/blue-branch状态,您可能会做得很好。

所以,照上面说的做,(把蓝色变成红色)然后.

代码语言:javascript
运行
复制
$ git checkout <blue branch>
$ git reset --hard <commit id of red commit>

# OR

$ git reset --hard <commit id of purple commit>

# OR

$ git reset --hard <origin/blue branch>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24041624

复制
相关文章

相似问题

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