gpt4 book ai didi

Git Rebase 期间的 Git Commit - 到底发生了什么?

转载 作者:太空狗 更新时间:2023-10-29 12:48:08 24 4
gpt4 key购买 nike

我正在寻找一个很好的描述,说明如果一个人在 rebase 期间提交会发生什么,以及如何以一种简单的方式“恢复”。

让我们考虑一个场景,其中一个大的提交被重新定位。在 rebase 期间出现冲突并且用户开始 merge 更改。现在,想象一个场景,您几乎完成了,但您没有调用 git rebase --continue - 无论出于何种原因(长周末等)。下周你刚刚恢复工作,仍然在 rebase 期间。最后,您调用 git commit --amend 将更改追加到最后一次提交,然后...它们最终会出现在您要 rebase 的提交中。

自然地,您总是可以检查您开始 rebase 的提交并“通过破解” - 例如,通过尝试从您的修改中复制所有文件,但这可能会删除在同时。

有没有一种干净、好的方法来解决这个问题?这是一种我应该小心的特殊状态,我不想最终陷入这种状态,但它仍然偶尔会发生——我最终花了一整天的时间试图把事情弄清楚。

我非常感谢所有的帮助和建议。谢谢!

最佳答案

对于这种情况,有两种建议的解决方案。

  • 第一个解决方案是将最终结果重新设置为原始基础提交。这将需要您再次解决类似的 merge 冲突,但当您完成后,您的提交应该回到正轨。

  • 对我有用的替代解决方案是从与您修改的提交相同的点分支(它带有 SHA,应该用作 checkout 基础)。然后创建一个新分支并调用 git merge --no-ff --no-commit --strategy=theirs other_branch,其中 *other_branch* 是不幸提交的分支。

    <

关于Git Rebase 期间的 Git Commit - 到底发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116572/

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