如何对本地提交进行git变基操作

4

在向存储库推送之前,常见的情况是对本地git提交进行交互式变基。一种方法是找到本地提交的数量并运行命令(在此示例中为3个本地提交)。

git rebase -i HEAD~3

有没有一种方法可以避免事先确定本地提交次数的需要,直接运行一条命令即可实现 git rebase -i '尚未推送的提交'

编辑:让我详细说明具体情况。我进行了三个提交:

Commit change A
Commit change B
Commit change C

这时我意识到C的修改应该与A的修改一起,因此我想要 rebase 命令来达到我的目的:

Commit containing A + C
Commit containing B

目前还没有进行推送操作。考虑到我无法记住更改C有多少次,我执行了

git log @{u}..

我需要确定我有三个更改。现在,我想要进行一个

git rebase -i HEAD~3

或者,正如@cosimo93指出的那样,我可以简单地执行
git rebase -i

假设您有本地提交,但尚未推送它们。您可以使用相同的命令对其进行变基。如果存在合并提交消息,并且您想在变基中包含它们,则需要使用标志“-p”来保留交互式变基中的合并提交。 - Krishna
1个回答

8

您可以尝试以下方法:

git rebase -i

我对 OP 的意图和需求也有同样的疑问,但这可能应该是一条评论,因为它并没有从技术上回答问题。只是说一下。 - Romain Valeri
我在此向偶然女神屈服;-) 因为简明扼要而点赞。 - Romain Valeri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接