Git: Needed a single revision error

I initialized a new git in my project and I have only two commits so far. My log is like below

git log
commit e515e5b8dcbd8f1ea4a7a7d4a1efb82a1a0aee7a
Author: Olkun Mustafa <[email protected]>
Date:   Fri Oct 3 10:04:20 2014 +0300

    Temp commit

commit 71781bf0a7807351a56d5155dac94169ea700527
Author: Olkun Mustafa <[email protected]>
Date:   Fri Oct 3 10:01:42 2014 +0300

    First Commit

When I try to rebase this commits I get error like below

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.


In your case, there is no HEAD~2, since you only have 2 commits, hence the "Needed a single revision" error message.
Try:

 git rebase -i --root

see more about --root at "Change first commit of project with Git?"


This doesn't apply to your case, but may help others. If on Linux, make sure HEAD is capitalized. If you use lowercase head like the first example below (because you are used to working on Windows or Mac and those allow lowercase head), you will get the fatal: Needed a single revision error!

Or you can use @ as an alias for HEAD, then you won't need to worry to forgetting to capitalize it.

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

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

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