meaning example git git-rebase

example - ¿Cómo puedo `git rebase-i` y prevenir“ Pidió modificar el compromiso más reciente, pero hacerlo quedaría vacío ”?



git rebase--continue (2)

Parece correr

git commit --allow-empty
git rebase --continue

Crea 2 compromisos aplastados, en lugar de uno. Ejecutar git rebase -i some-hash me permite aplastar las 2 nuevas confirmaciones en una.

Quiero ejecutar un git rebase -i some-hash .

Cuando lo ejecuto, me sale el error:

Usted solicitó modificar el compromiso más reciente, pero hacerlo quedaría vacío. Puede repetir su comando con --allow-empty, o puede eliminar el commit completamente con "git reset HEAD ^".
[...]
No se pudo aplicar [...]

Ese error parece ser específico de un solo compromiso, ya que --allow-empty no es una opción que pueda pasar a rebase.

Aparentemente, --keep-empty es una opción que puedo pasar a git rebase , pero no parece solucionar el problema.

¿Cómo puedo cambiar de base, y decirle a git, que no se preocupe si un compromiso en la nueva fase termina sin tener efecto?


Si no está rebasando un solo compromiso y enfrentando el mismo problema, la razón es que el resultado final de su rebasado es un compromiso vacío.

Suponiendo que no desea cometer el compromiso vacío, digamos que tiene estos dos compromisos:

commit 1 commit 2

Y está recibiendo el error cuando desea combinar estas dos confirmaciones (por ejemplo, git rebase -i HEAD~2 ), la solución es restablecer esas dos confirmaciones haciendo el siguiente comando dos veces :

git reset HEAD^