Git: 需要一个修订错误

我在项目中初始化了一个新的 git,到目前为止只提交了两次。我的日志如下

git log
commit e515e5b8dcbd8f1ea4a7a7d4a1efb82a1a0aee7a
Author: Olkun Mustafa <olkun.mustafa@gmail.com>
Date:   Fri Oct 3 10:04:20 2014 +0300


Temp commit


commit 71781bf0a7807351a56d5155dac94169ea700527
Author: Olkun Mustafa <olkun.mustafa@gmail.com>
Date:   Fri Oct 3 10:01:42 2014 +0300


First Commit

当我尝试重新调整提交的基础时,我会得到如下错误

git rebase --interactive HEAD~2
fatal: Needed a single revision
invalid upstream HEAD~2

I quite research at google but I haven't found solution till now.

62056 次浏览

在您的示例中,没有 HEAD~2,因为您只有2次提交,因此出现了“ Needed a single revision”错误消息。
试试:

 git rebase -i --root

有关 --root的详情,请浏览「 用 Git 更改项目的第一次提交?

这不适用于你的情况,但可以帮助其他人。如果在 Linux 上,请确保 HEAD是大写的。如果你像下面的第一个例子一样使用小写的 head(因为你已经习惯了在 Windows 或 Mac 上工作,而这些工作允许使用小写的 head) ,你将会得到 fatal: Needed a single revision错误!

或者您可以使用 @作为 HEAD的别名,这样您就不必担心忘记将其大写。

# wrong on linux
git rebase --interactive head~2


# correct on linux
git rebase --interactive HEAD~2


# correct on all
git rebase --interactive @~2