如何对本地提交执行 git 变基

How to perform a git rebase of local commits

一个常见的场景是在推送到存储库之前对本地 git 提交执行交互式变基。这样做的一种方法是查找本地提交的数量和 运行 命令(在此示例中为 3 个本地提交)

git rebase -i HEAD~3

有没有办法省去事先查出本地commit的个数,直接运行一个命令,意思是git rebase -i 'commits not yet pushed'.

编辑:让我举一个具体的场景来详细说明。我执行了三个提交:

Commit change A
Commit change B
Commit change C

此时我意识到C中的变化属于A中的变化,所以我想变基给我想要的东西:

Commit containing A + C
Commit containing B

此时,还没有推送。看到我不记得更改 C 有多少更改,我做了

git log @{u}..

并确定我有三个变化。所以现在我想做一个

git rebase -i HEAD~3

或者,正如@cosimo93 指出的那样,我可以简单地做

git rebase -i

你可以试试:

git rebase -i