Git: Benötigte einen einzelnen Revisionsfehler

100

Ich habe einen neuen Git in meinem Projekt initialisiert und habe bisher nur zwei Commits. Mein Log ist wie unten

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

Wenn ich versuche, diese Commits neu zu starten, erhalte ich die folgende Fehlermeldung

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

Ich recherchiere ziemlich bei Google, habe aber bis jetzt keine Lösung gefunden.

Olkunmustafa
quelle
2
Welches Ergebnis, nachdem Sie versucht haben, hier zu erreichen?
Oliver Charlesworth
Versuchen Sie, Ihre Commits rückgängig zu machen?
Mehmetseckin
Mögliches Duplikat von Change First Commit des Projekts mit Git?
Louis

Antworten:

186

In Ihrem Fall gibt es keine HEAD~2, da Sie nur 2 Commits haben, daher die Needed a single revisionFehlermeldung " ".
Versuchen:

 git rebase -i --root

Weitere Informationen finden Sie unter " Erstes Commit des Projekts mit Git ändern? "

VonC
quelle
1
Vielen Dank! Funktioniert bei mir.
YuLong Xiao
1
Ich bekam nur den "fatal: ungültigen Upstream-Kopf ~ 2", obwohl ich vier Commits im Protokoll hatte. Die Meldung "Einzelrevision" wurde für mich nicht angezeigt. Dies hat mich jedoch richtig repariert! Vielen Dank!
Austen Hoogen
7

Dies gilt nicht für Ihren Fall, kann aber anderen helfen. Stellen Sie unter Linux sicher, dass HEADdie Großschreibung aktiviert ist. Wenn Sie Kleinbuchstaben headwie im ersten Beispiel unten verwenden (weil Sie es gewohnt sind, unter Windows oder Mac zu arbeiten und diese Kleinbuchstaben zulassen head), wird der fatal: Needed a single revisionFehler angezeigt!

Oder Sie können @als Alias ​​für verwenden HEAD, dann müssen Sie nicht vergessen, es zu aktivieren.

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

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

# correct on all
git rebase --interactive @~2
wisbucky
quelle
ich danke dir sehr! Ich kämpfte ein paar Stunden damit und kapitalisierte HEADist die Lösung!
Jinsong Li
1
⁺¹ für den Rat zu @.
Hi-Angel