Solía git initcrear un repositorio nuevo, luego hice tres confirmaciones. Ahora quiero volver a basarme para volver atrás y enmendar mi primer compromiso, pero si lo hago, ¡ git rebase -i HEAD~3se queja! Si intento lo mismo con, HEAD~2entonces funciona un poco, pero solo me permite reorganizar las dos últimas confirmaciones.
¿Cómo me refiero a la 'confirmación antes de que haya alguna confirmación' o retrocedo e inserto una confirmación vacía?
git
git-rebase
lxs
fuente
fuente

Respuestas:
La forma más fácil, con un git lo suficientemente reciente (esto ha estado disponible durante mucho tiempo, así que debería tener esto):
La otra forma fácil, como señaló twalberg en un comentario , es usar
git checkout --orphanpara configurar para hacer una nueva confirmación de root, sobre la que puede copiar las antiguas confirmaciones. (Esto es lo querebase -i --roottermina haciendo internamente de todos modos).fuente
git rebase -i --rootobtengo el errorerror: cannot 'fixup' without a previous commital intentar aplastar la segunda confirmación (solo quiero la primera)pickpara cada una. Cambie el segundopickasquashofixup, escriba la hoja de instrucciones, salga de su editor y Git debería hacer el trabajo.