Git: necessário um único erro de revisão

101

Inicializei um novo git em meu projeto e tenho apenas dois commits até agora. Meu log é como abaixo

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

Quando tento rebase este commit, obtenho um erro como abaixo

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

Pesquisei bastante no google, mas não encontrei solução até agora.

Olkunmustafa
fonte
2
Qual resultado depois de tentar alcançar aqui?
Oliver Charlesworth,
Você está tentando desfazer seus commits?
mehmetseckin
Possível duplicata de Mudança primeiro commit do projeto com Git?
Louis

Respostas:

187

No seu caso, não existe HEAD~2, já que você só tem 2 commits, daí a Needed a single revisionmensagem de erro " ".
Experimentar:

 git rebase -i --root

veja mais em " Mudar o primeiro commit do projeto com Git? "

VonC
fonte
1
Obrigado! Funciona para mim.
YuLong Xiao
1
Eu estava recebendo apenas o "fatal: invalid upstream head ~ 2", embora tivesse quatro commits no log. A mensagem de "revisão única" não estava aparecendo para mim. No entanto, isso me consertou! Obrigado!
Austen Hoogen 01 de
7

Isso não se aplica ao seu caso, mas pode ajudar outras pessoas. Se estiver no Linux, certifique-se de que HEADestá maiúsculo. Se você usar letras minúsculas headcomo o primeiro exemplo abaixo (porque está acostumado a trabalhar no Windows ou Mac e esses permitem letras minúsculas head), você obterá ofatal: Needed a single revision erro!

Ou você pode usar @como um apelido para HEAD, então não precisará se preocupar em esquecer de colocar a letra maiúscula.

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

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

# correct on all
git rebase --interactive @~2
wisbucky
fonte
muito obrigado! Lutei com isso por algumas horas e maiúsculas HEADé a solução!
Jinsong Li
1
⁺¹ para obter conselhos sobre @.
Hi-Angel