首页 > 解决方案 > 无法使用变基命令

问题描述

我正在尝试使用以下命令压缩 git 提交

$ git rebase -i HEAD~3

但是在运行上述命令后,我面临以下错误:

致命:无效的上游'HEAD~3'

标签: gitgit-bash

解决方案


当与 git 已知的任何内容都不匹配时,您会收到invalid upstream <xxx>消息。<xxx>

在您的情况下:如果您在一个只有 3 个提交的新分支上,HEAD~3(当前提交的第三个父级)不存在,因此该消息。


要将提交压缩在一起,您可以使用:

git reset --soft <sha of the first commit>  # or : git reset --soft HEAD~2
git commit --amend

如果你想使用git rebase,有一个特殊的--root选项可以说“rebase the whole branch”:

git rebase -i --root

推荐阅读