Recientemente abrí un repositorio en GitHub. Soy nuevo en Git. Como es habitual con los recién llegados, me comprometí a utilizar el nombre y el correo electrónico predeterminados, que, según la mejor tradición novata, descubrí cinco confirmaciones demasiado tarde. Ahora comienza la diversión, porque comencé a buscar información sobre cómo cambiar el autor & nombre de committer de estas confirmaciones. Multa. Básicamente me encontré con la siguiente información y una gran cantidad de copias:Cambiar el nombre del autor de las confirmaciones anteriores: se rechazan las solicitudes de avance rápido
How to remove selected commit log entries from a Git repository while keeping their changes?
Change the author and committer name and e-mail of multiple commits in Git
El problema no parece ser poco común. Solo puedo decir que ninguna de las soluciones funcionó. La mitad de ellos son variaciones del mismo script git filter-branch -f --env-filter
. Traté de trabajar en ese script varias veces. El problema es que después de aplicar el script, no puedo presionar. "Empujes rápidos rechazados" o algo así. Bien, la única forma de continuar es tirar. Después de tirar, toda la información anterior está allí de nuevo + una nueva rama con la nueva información. Ya estoy aquí sentado con cuatro ramas, fusionadas de la manera más atroz, todas contienen la misma información con diferentes nombres de autor, incluido el que quería eliminar.
OK, para abreviar, también traté de eliminar compromisos seleccionados, lo que genera conflictos espeluznantes que no puedo resolver (¿cómo ???), y aplastar algunos de los commits en los más nuevos con el correcto información del autor, lo que resulta en el estado del proyecto actual que está naufragando. Incluso mejor, me sale un error de segmentación a veces después de ejecutar git rebase -i
, lo que me informan aquí: http://lists-archives.org/git/729800-rebase-i-segmentation-fault-and-another-problem.html es completamente lógico. Lo único que (afortunadamente) funciona es git rebase --abort
, lo que me salvó el culo varias veces.
Espero que mi frustración no se vea afectada, sino que te divierta y te estimule para que me ayudes. Me gustaría:
Para eliminar dicho autor, finalmente, información
Bonus: Para deshacerse de todas las ramas que contienen la misma información.
Pero sería feliz con el primero también, si el obstáculo de la eliminación de las ramas anteriores sin destrozar el estado actual es demasiado para un recién llegado git. Gracias por adelantado.
duplicados de [¿Qué es un "avance rápido" en Git? ] (http://stackoverflow.com/questions/4684352/whats-a-fast-forward-in-git) –
¿Cómo es eso un duplicado? El hecho de que la respuesta a la pregunta esté relacionada de alguna manera no significa que la pregunta sea la misma, sino que tenga una redacción diferente. – Hinton
Considero que es un duplicado. No solo las soluciones son esencialmente idénticas, es decir, empuje forzado, sino que parece haber sido su único problema, después de reescribir con éxito su historial. Si alguien no está de acuerdo, no puede volver a abrir su pregunta. –