Git: necessario un singolo errore di revisione


101

Ho inizializzato un nuovo git nel mio progetto e finora ho solo due commit. Il mio registro è come di seguito

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

Quando provo a rebase questo commit ottengo un errore come di seguito

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

Ho fatto ricerche su google ma non ho trovato una soluzione fino ad ora.


2
Quale risultato dopo aver cercato di ottenere qui?
Oliver Charlesworth

Stai cercando di annullare i tuoi commit?
mehmetseckin

Risposte:


187

Nel tuo caso no HEAD~2, dato che hai solo 2 commit, da cui il Needed a single revisionmessaggio di errore " ".
Provare:

 git rebase -i --root

vedere di più in " Modificare il primo commit del progetto con Git? "


1
Grazie! Per me va bene.
YuLong Xiao

1
Stavo ottenendo solo il "fatal: invalid upstream head ~ 2" anche se avevo quattro commit nel log. Il messaggio "revisione singola" non veniva visualizzato per me. Tuttavia, questo mi ha risolto! Grazie!
Austen Hoogen

7

Questo non si applica al tuo caso, ma può aiutare gli altri. Se su Linux, assicurati che HEADsia in maiuscolo. Se usi il minuscolo headcome nel primo esempio qui sotto (perché sei abituato a lavorare su Windows o Mac e quelli consentono il minuscolo head), otterrai l' fatal: Needed a single revisionerrore!

Oppure puoi usarlo @come alias per HEAD, quindi non dovrai preoccuparti di dimenticarti di capitalizzarlo.

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

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

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

grazie mille! Ho lottato con questo per alcune ore e le lettere maiuscole HEADsono la soluzione!
Jinsong Li

1
⁺¹ per i consigli su @.
Hi-Angel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.