gpt4 book ai didi

git - 在不删除旧分支的情况下进行 rebase

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

我在Git中有以下情况:

A--B--C--D--E--F--G
\--H--I

我想 rebase 分支,但保留原始分支。所以我想要这个:

A--B--C--D--E--F--G
\--H--I \--H'--I'

原因是我的重新设置分支可能会破坏某些东西。如果它做得太多,而且我无法轻松修复它,我想继续使用旧分支。

这是在这样一种情况下,master 分支实际上是基于另一个仓库,并且远远落后于原始仓库。我正在尝试让我们的 (H-I) 分支恢复到原始主分支的最新版本。

最佳答案

只需创建一个新分支并对其进行处理即可。

git checkout your-old-branch
git checkout -b to-be-rebased
git rebase master

并致力于 to-be-rebased 直到你有一些可行的东西。

因此 your-old-branch 仍然指向完全相同的提交,不受影响。


...并且前两个 checkout 步骤可以 merge 为一个(如 Johnathon 所指出的)以避免不必要的 checkout 步骤:

git checkout -b to-be-rebased your-old-branch

最后,公平地说Lasse's comment ,确实我们可以使用 cherry-pick 来达到同样的效果:

git checkout -b new-branch master
git cherry-pick master..your-old-branch

关于git - 在不删除旧分支的情况下进行 rebase ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55336399/

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