Se produjo un error interno No se puede revertir la confirmación porque tiene 0 padres, solo se aceptan las confirmaciones con exactamente uno de los padres.

commit 4c5d2e9a3697dda68d86db5ee6ef188669edbc4d

Autor: lokanath 2014-03-11 00:51:58

Committer: lokanath 2014-03-11 00:51:58

Sucursales: maestro

1er compromiso

Pero cuando estoy haciendo commit revertir estoy recibiendo un error como este

"Ocurrió un error interno No se puede revertir la confirmación '4c5d2e9a3697dda68d86db5ee6ef188669edbc4d' porque tiene 0 padres, solo se admiten las confirmaciones con exactamente uno de los padres"

¿Puede alguien decirme por qué es así?

Solo tiene una (1) confirmación, la confirmación inicial (raíz).

Revertir un compromiso requiere comparar el compromiso con el compromiso anterior de los padres para ver qué cambió. Esto requiere un mínimo absoluto de dos (2) commits, por lo que hay algunos commits (en plural) para examinar para ver qué cambió entre ellos.

Por lo tanto, no puede revertir el compromiso inicial. (Eso es solo una limitación de git, no hay razón por la que no se pueda hacer un segundo commit que deshaga el primero para que el checkout esté completamente vacío), pero el git en sí mismo no es muy bueno con los directorys vacíos. Sin embargo, incluso si los git arreglaran esto en git para que pudieras revertir tu confirmación inicial, el resultado sería un checkout completamente vacío de todos modos, lo que no es muy útil.

(Lo que puede hacer es modificar la confirmación inicial, si desea que la confirmación inicial se vea algo diferente).

git update-ref -d HEAD

Yo tuve el mismo problema. El command anterior lo resolvió por mí.