Git: Needed a single revision error

Git

Git Problem Overview


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 <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

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.

Git Solutions


Solution 1 - Git

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?"

Solution 2 - 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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionOlkunmustafaView Question on Stackoverflow
Solution 1 - GitVonCView Answer on Stackoverflow
Solution 2 - GitwisbuckyView Answer on Stackoverflow