gpt4 book ai didi

git - 恢复一个 git rebase 补丁

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

我正处于一个有很多冲突的大型 rebase 的中间。

刚刚发现了几个 git rebase --continue 在实际我不小心删除了一个文件而不是另一个文件之前。

我如何返回 pacth 并修复此问题,然后重新应用补丁?

编辑:--abort 不是解决方案,因为我将不得不重新执行所有补丁。我只想中止其中的一部分

最佳答案

你的 repo 中的所有内容都会保留在那里,直到 git 通过任何 ref 发现它已经完全无法访问至少一个月1

所以你已经完成了一些等同于 git rebase master topic 的操作,比如自分支以来在主题上有 26 次提交 A-Z,你做了什么结果证明是一个非常糟糕的 oops rebaseing O 而没有' 直到 S 才真正得到完整的效果:

     A...O...Z        topic
/
...b....* master
\
A2..O2..S2 the inflight rebase with the mistake in the rebased O, O2

你的退出是

git tag restart O2~
git rebase --abort
git rebase --onto restart O^ topic

现在您只需重做被 oops 感染的提交。

如果 O2~..S2 系列中的提交有好的部分,您想要检索冲突解决方案,您也可以标记 S2,然后在重做期间检查这些提交中的好的部分,git checkout -p boneyard~3 -- goodpart1 goodpart2 etc etc(你将 S2 标记为“boneyard”,好的部分在 P2 中)

我已经完成了这个,清理了一个 rebase,然后不得不重做。如果每个人都曾经这样做过,我不会感到惊讶。这没什么大不了的,即使对于像您这样看似可怕的案例也是如此。


1您可以强制提前截断。不要那样做。

关于git - 恢复一个 git rebase 补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778793/

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