¡Hola Victor, espero que estés bien!
Entiendo lo frustrante que puede ser cuando las cosas no funcionan como esperas, especialmente después de un corte de luz. Tu solución de reiniciar el terminal y volver a iniciar con git init funcionó, pero es posible que no sea la forma más eficiente de resolver el problema.
El error que mencionas sugiere que tu rama local y la rama remota estaban desincronizadas. Esto suele suceder cuando hay cambios en la rama remota que no están presentes en tu rama local. En lugar de reiniciar todo, podrías haber intentado los siguientes pasos:
Actualizar tu rama local: Antes de hacer un git push, es una buena práctica asegurarte de que tu rama local esté actualizada con la remota. Puedes hacerlo con git pull origin <nombre-de-la-rama>. Esto traerá los cambios de la rama remota a tu rama local.
Resolver conflictos: Si git pull trae cambios que entran en conflicto con tus cambios locales, Git te pedirá que resuelvas esos conflictos antes de continuar. Una vez resueltos, puedes hacer un commit para aplicar los cambios.
Hacer el push nuevamente: Una vez que tu rama local esté sincronizada con la remota, deberías poder hacer git push origin <nombre-de-la-rama> sin problemas.
Tu método funcionó porque básicamente reiniciaste todo, pero esto puede llevar a perder el historial de cambios si no tienes cuidado. La próxima vez, intenta sincronizar las ramas primero.
Espero haber aclarado tu duda y que esto te sea útil para futuras ocasiones. ¡Espero haber ayudado y buenos estudios!