gpt4 book ai didi

git - 什么会导致交互式 git rebase 在不修改待办事项的情况下失败?

转载 作者:行者123 更新时间:2023-12-04 15:38:32 27 4
gpt4 key购买 nike

假设我想对一个具有长期复杂 merge 历史的存储库的 master 分支进行 rebase 。我想返回大约 100 次提交以提交 $SHA

我可以使用 git rebase -i $SHAgit rebase -i $SHA --rebase-merges 来做到这一点。如果我理解正确,后者包括 merge 提交,而前者不包括。

无论哪种情况,我都会打开 TODO,然后保存并退出而不做任何更改。

在这两种情况下,rebase 都会失败。在 --rebase-merges 的情况下,它失败并出现以下错误:

hint: Could not execute the todo command
hint:
hint: label #10:-Merge-dev
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue

在没有该标志的情况下,我的印象是它会“扁平化”git 历史记录,从而删除 merge 提交。但是,这也会导致 50 多个 merge 冲突,手动解决这些冲突需要花费大量时间。

我并不是真的在这里寻找解决这些问题的方法,我更好奇为什么在 TODO 中几乎没有任何更改的情况下进行 rebase 会失败。

最佳答案

我认为这是由于您的标签包含井号,这很可能被解释为评论。您可能想要调整标签及其用途,使其不包含散列标记,然后再次尝试 rebase 。

如果这些 TODO 条目是由 Git 创建的,您可能希望将其作为错误报告给 Git 列表;最近有一些关于无效标签名称的讨论,您可能需要检查是否有人发送了补丁来修复该问题。

关于git - 什么会导致交互式 git rebase 在不修改待办事项的情况下失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58892817/

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