gpt4 book ai didi

git - cherry-picked feature commits to new branch, reverted commits, rebase 不按预期工作

转载 作者:太空狗 更新时间:2023-10-29 13:22:12 25 4
gpt4 key购买 nike

我最近不得不从我们的“开发”分支中提取一项功能,因为它被搁置到以后。

为此,我创建了一个分支,其父级在第一个功能提交之前的“开发”提交上(第一个功能提交是来自另一个分支的压缩 merge 。)然后我从中挑选了所有功能提交开发到新的分支。最后,我在 dev 上做了一个大的恢复提交,以删除那些精心挑选的提交。

现在我想在 dev 上重新建立新分支以使其保持最新。如果我运行“git rebase dev”,新分支的负责人将成为大恢复,因此该功能将丢失。

使用“git rebase --strategy=ours dev”,功能分支中的所有提交都将被跳过,并显示消息“已应用:0001 ...”。

如何将功能分支 rebase 到 dev,以便将功能上的所有提交应用到 dev 的负责人?

也许有比我在这里描述的更好的方法来完成这个过程?

最佳答案

您可以通过检查您的功能分支并执行以下操作来解决此问题:

git rebase --onto dev HEAD~<number of commits you care about> --force-rebase

这指示 git 重播您指定的提交范围,并忽略提交是否发生在 dev 提交之前的某个时间点。

请注意,这将为您留下如下所示的历史记录:

<did some work> -- <reverted all of that work> -- <re-did that work>

这对您来说可能不是那么有用。这里的一些其他答案详细说明了如何通过重写历史来获得更清晰的历史,具体取决于您的团队对历史重写的容忍度。

关于git - cherry-picked feature commits to new branch, reverted commits, rebase 不按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461088/

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