Git: necesitaba un solo error de revisión

2 minutos de lectura

avatar de usuario
Olkunmustafa

Inicialicé un nuevo git en mi proyecto y hasta ahora solo tengo dos confirmaciones. Mi registro es como a continuación

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

Cuando intento cambiar la base de estas confirmaciones, aparece un error como el siguiente

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

Investigué bastante en Google pero no he encontrado una solución hasta ahora.

  • ¿Qué resultado después de tratar de lograr aquí?

    –Oliver Charlesworth

    3 de octubre de 2014 a las 7:18

  • ¿Estás tratando de deshacer tus confirmaciones?

    – mehmetseckin

    3 de octubre de 2014 a las 7:27

  • ¿Posible duplicado de Change first commit del proyecto con Git?

    – Luis

    23 de marzo de 2017 a las 18:13

avatar de usuario
VonC

En tu caso, no hay HEAD~2ya que solo tiene 2 confirmaciones, de ahí el “Needed a single revision” mensaje de error.
Probar:

 git rebase -i --root

ver más sobre --root en “¿Cambiar la primera confirmación del proyecto con Git?”

  • Obtuve solo el “fatal: cabeza ascendente inválida ~ 2” a pesar de que tenía cuatro confirmaciones en el registro. El mensaje de “revisión única” no me aparecía. Sin embargo, ¡esto me arregló! ¡Gracias!

    –Austen Hoogen

    1 de marzo de 2020 a las 23:20

avatar de usuario
wisbucky

Esto no se aplica a su caso, pero puede ayudar a otros. Si está en Linux, asegúrese de HEAD está en mayúscula. Si usas minúsculas head como el primer ejemplo a continuación (porque está acostumbrado a trabajar en Windows o Mac y esos permiten minúsculas head), obtendrá el fatal: Needed a single revision ¡error!

O puedes usar @ como un alias para HEADentonces no tendrá que preocuparse por olvidarse de capitalizarlo.

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

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

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

  • ¡muchas gracias! Luché con esto durante unas horas y capitalicé HEAD es la solución!

    – Jinsong Li

    07/06/2018 a las 19:30

  • ⁺¹ por los consejos sobre @.

    – Hola angel

    20 de agosto de 2018 a las 8:47

¿Ha sido útil esta solución?