首页 > 解决方案 > 错误:如果没有先前的提交就无法“挤压”您可以使用“git rebase --edit-todo”修复此问题,然后运行“git rebase --continue”

问题描述

我在 bitbucket 中有一个以下提交,我想将所有提交压缩到一个提交中。

当我这样做时git rebase -i HEAD~5,它会在 git bash 上以相反的顺序显示所有提交,其中最后一次提交,即 Commit 5 列在最后。

pick 104e52ffdb IA-31774 Commit 1
pick 157be0f3b3 IA-31774 Commit 2
pick 4619cf38be IA-31774 Commit 3
pick e89937fca9 IA-31774 Commit 4
pick 38c54ea317 IA-31774 Commit 5

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++

我尝试了以下选项。

s 104e52ffdb IA-31774 Commit 1
s 157be0f3b3 IA-31774 Commit 2
s 4619cf38be IA-31774 Commit 3
p e89937fca9 IA-31774 Commit 4
r 38c54ea317 IA-31774 Commit 5

我尝试了上述选项,但出现以下错误。

错误:如果没有先前的提交就无法“挤压”您可以使用“git rebase --edit-todo”修复此问题,然后运行“git rebase --continue”。或者你可以使用 'git rebase --abort' 中止 rebase。

任何人都可以帮我如何将所有 5 个提交压缩为单个提交,还让我知道将所有 5 个提交压缩为单个提交应遵循的步骤。

提前致谢。

标签: gitgithubbitbucket

解决方案


通常,行是按从上到下的顺序执行的。

为了压制一切,这应该起作用:

r 104e52ffdb IA-31774 Commit 1
s 157be0f3b3 IA-31774 Commit 2
s 4619cf38be IA-31774 Commit 3
s e89937fca9 IA-31774 Commit 4
s 38c54ea317 IA-31774 Commit 5

您改写并保留第一个提交并压制所有其他提交。如果你想在提交 1 之后删除所有提交的消息,你应该使用fforfixup而不是 squash..


推荐阅读