Drop old commit: `git rebase` causa conflictos de fusión
Desafortunadamente, accidentalmente registramos un archivo binario grande hace algún tiempo y hasta hoy nadie se dio cuenta. Ahora quiero eliminar ese commit y tener el historial restante tal como está. Sé sobre las advertencias de cambiar la historia empujada, pero en este caso no puedo evitarlo.
He estado tratando de lograrlo durante aproximadamente 1 hora, pero no lo consigo. El mejor comando que encontré es
git rebase --interactive --preserve-merges $(EVIL_COMMIT)^
y en el editor comentando el primer commit, que es el malvado.
Desafortunadamentegit rebase
se detiene en las fusiones y solicita la resolución manual de conflictos de fusión. The evil commit solo agrega algunos archivos de ejemplo que nuestro software calculará con fines de prueba. Por lo tanto, no debería haber ningún conflicto con los archivos de ejemplo que faltan.
He pasado bastante tiempo en Google y SO search. Algunos hilos cubren un tema similar peroa sintaxis utilizada no está disponible en la versión Git de hoy en día o no funcionó para mí (solo describí un método arriba porque es el enfoque más fácil