Git:需要一个修订错误

Olk*_*afa 88 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
Run Code Online (Sandbox Code Playgroud)

当我尝试重新提交此提交时,我得到如下错误

git rebase --interactive HEAD~2
fatal: Needed a single revision
invalid upstream HEAD~2
Run Code Online (Sandbox Code Playgroud)

我在谷歌研究,但到目前为止我还没有找到解决方案.

Von*_*onC 161

在你的情况下,没有HEAD~2,因为你只有2个提交,因此" Needed a single revision"错误消息.
尝试:

 git rebase -i --root
Run Code Online (Sandbox Code Playgroud)

请参阅" 使用Git更改项目首次提交? "


wis*_*cky 6

这不适用于您的情况,但可能会帮助其他人。如果在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
Run Code Online (Sandbox Code Playgroud)

  • ⁺¹ 有关“@”的建议。 (2认同)