gpt4 book ai didi

git rebase 一个基于多个分支的分支

转载 作者:太空狗 更新时间:2023-10-29 14:00:32 28 4
gpt4 key购买 nike

我有以下最小示例:

---M---A-----D1---D2---D3
|\ /|
| B1---B2 |
\ /
-C1---C2-

这里,

  • M 现在是主人,
  • 有特点
    • 一个,
    • B(由 B1、B2 组成)和
    • C(由 C1、C2 组成)

正在开发中并且在所有这些功能之上

  • D(由 D1、D2、D3 系列组成)。

现在功能 A 被接受进入 master 分支,因此我必须将所有内容 rebase 到 A。这意味着,我想要

---M---A-----------D1'---D2'---D3'
|\ /|
| B1'---B2' |
\ /
-C1'---C2'-

当然,很容易单独/单独地在 A 和 C 处对 B (B2) 进行 rebase 。

但是我如何重新设置分支 D(包括 B 和 C)的基线,同时保留 merge D1(如上所示)?

最佳答案

您需要将标志 --preserve-merges 传递到您的 rebase 命令中。这看起来像:

git checkout D
git rebase A --preserve-merges

我远不是 git 用于保存 merge 的算法的专家,所以我不知道你可能会遇到或不会遇到什么样的冲突,但这会导致 git 尝试重建你的 merge 提交D1 在 rebase 期间。

关于git rebase 一个基于多个分支的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22306855/

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