gpt4 book ai didi

git - 如何在已经 rebase 的分支上 rebase

转载 作者:太空狗 更新时间:2023-10-29 12:59:50 27 4
gpt4 key购买 nike

我的 git 分支看起来像这样:

master-*-*-*-*-*-*-implement_x
\ \-*-further_foo_fixes_that_depend_on_x
\ \-*-*-further_bar_fixes_that_depend_on_x
\
\-implement_x_rebased

它以这种方式结束,因为我认为我的分支 implement_x 将按原样 merge 到上游,但我被要求将其压缩为单个提交,因此 implement_x_rebased .但是,在等待 implement_x merge 的同时,我已经启动了几个分支以进一步修复和开发这取决于我的工作。

现在我想对 implement_x_rebased 的进一步工作进行 rebase 。我认为这是一个空操作,因为 implement_ximplement_x_rebased 处于完全相同的状态 - 不会有 merge 冲突,只是应用 implement_x 之间的更改further_foo_fixes_that_depend_on_x 等在 implement_x_rebased 之上。然而,git 似乎并不那么聪明,它试图从基础开始一直 rebase ——引入不必要的 merge 冲突。

我认为最简单的方法是对 implement_x 的进一步修复进行 rebase 和压缩,然后将它们存储起来,并将存储应用到 implement_x_rebased,但我很好奇是否有有什么正确的方法可以让 git 意识到 implement_ximplement_x_rebased 实际上处于相同的状态?

最佳答案

这似乎是 git rebase--onto 选项的任务。

git rebase --onto implement_x_rebased implement_x further_bar_fixes_that_depend_on_x

您可能想看看 git rebase manual 中的 --onto 示例.

关于git - 如何在已经 rebase 的分支上 rebase ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27445747/

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