gpt4 book ai didi

git - 如何在 Git 中的分支之间移动提交?

转载 作者:IT王子 更新时间:2023-10-29 00:53:40 25 4
gpt4 key购买 nike

我确定这是一个已经被询问和回答的简单问题,但我不知道要搜索什么术语。我有这个:

    /--master--X--Y
A--B
\--C--D--E

我在一个分支上提交了 C、D 和 E(仅限本地),但后来我意识到 D 和 E 确实独立于 C。我想将 C 移动到它自己的分支,并保留 D 和 E之后。也就是说,我想要这个:

                   /--C
/--master--X--Y
A--B
\--D--E

如何从 D 和 E 下抽出 C?

最佳答案

你可以使用 git cherry-pick 来抓取 C,并将其放在 Y 上。假设 Y 作为尖端存在一个名为 branch-Y 的分支:

$ git checkout branch-Y
$ git cherry-pick C

所以现在 C 在 Y 之上。但是 D 和 E 也仍然包含 C( cherry-pick 不会移动提交,它只是复制它)。您必须在 B 之上对 D 和 E 进行 rebase 。假设 E 是 branch-E 的尖端,B 是 branch-B,您可以:

$ git checkout branch-E
$ git rebase --interactive branch-B

这将打开一个交互式 rebase session 。只需完全删除提交 C,并保持 D 和 E 不变。然后,您将在没有 C 的情况下让 D 和 E 重新基于 B。

关于git - 如何在 Git 中的分支之间移动提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com