Git: besoin d'une seule erreur de révision

102

J'ai initialisé un nouveau git dans mon projet et je n'ai pour l'instant que deux commits. Mon journal est comme ci-dessous

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

Quand j'essaye de rebaser ceci commits j'obtiens l'erreur comme ci-dessous

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

J'ai fait des recherches sur google mais je n'ai pas trouvé de solution jusqu'à présent.

Olkunmustafa
la source
2
Quel résultat après avoir essayé d'atteindre ici?
Oliver Charlesworth
Essayez-vous d'annuler vos commits?
mehmetseckin
Possible duplication du premier commit Change du projet avec Git?
Louis

Réponses:

188

Dans votre cas, il n'y en a pas HEAD~2, car vous n'avez que 2 commits, d'où le Needed a single revisionmessage d'erreur " ".
Essayer:

 git rebase -i --root

voir plus à " Changer le premier commit du projet avec Git? "

VonC
la source
1
Merci! Travaille pour moi.
YuLong Xiao
1
Je n'obtenais que le "fatal: tête amont invalide ~ 2" même si j'avais quatre commits dans le journal. Le message "révision unique" ne s'affichait pas pour moi. Cependant, cela m'a résolu! Merci!
Austen Hoogen
8

Cela ne s'applique pas à votre cas, mais peut aider d'autres personnes. Si sur Linux, assurez-vous qu'il HEADest en majuscule. Si vous utilisez des minuscules headcomme le premier exemple ci-dessous (parce que vous avez l'habitude de travailler sous Windows ou Mac et que ceux-ci autorisent les minuscules head), vous obtiendrez l' fatal: Needed a single revisionerreur!

Ou vous pouvez l'utiliser @comme alias pour HEAD, alors vous n'aurez pas à vous soucier d'oublier de le capitaliser.

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

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

# correct on all
git rebase --interactive @~2
wisbucky
la source
Merci beaucoup! J'ai eu du mal avec cela pendant quelques heures et HEADle correctif est capitalisé !
Jinsong Li
1
⁺¹ pour les conseils sur @.
Hi-Angel