¿Cambiar root commit en git?

Hay formas de cambiar el mensaje de confirmaciones posteriores:

22 янв. configurado a 13 de enero 22 2010-01-22 21:21 '10 a las 21:21 2010-01-22 21:21
@ 5 respuestas

Suponiendo que tenga un árbol de trabajo limpio, puede hacer lo siguiente.

243
22 янв. Respuesta dada por CB Bailey 22 de enero 2010-01-22 21:53 '10 a las 21:53 2010-01-22 21:53

Como en la versión 1.7.12 de Git, ahora puedes usar

border=0
 git rebase -i --root 
477
31 янв. La respuesta la da ecdpalma el 31 de enero. 2013-01-31 19:24 '13 a las 19:24 2013-01-31 19:24

Para expandir la respuesta de ecdpalma , ahora puede usar la --root para decirle a la rebase qué desea sobrescribir la raíz / primer confirmación:

 git rebase --interactive --root 

Luego, la solución raíz aparecerá en la lista de TODO reinstalar, y puede elegir editar o reimprimir:

 reword <root commit sha> <original message> pick <other commit sha> <message> ... 

Esta explicación es --root en los documentos de Git Rebase (mi énfasis):

Restaure todas las confirmaciones disponibles desde <branch> lugar de limitarlas a <upstream> . Esto le permite restablecer el bloqueo de raíz en una rama .

57
14 июля '13 в 22:47 2013-07-14 22:47 la respuesta la da el usuario456814 14 de julio de 2013 a las 22:47 2013-07-14 22:47

Si simplemente crea un repositorio y descubre de antemano que en el futuro está remolcando sobre la "primera" fijación, puede evitar este problema por completo haciendo una solución vacía al principio:

 git commit --allow-empty -m "Initial commit" 

y solo después de eso comienzan a hacer fijaciones "reales". Luego, puede volver a instalarlo fácilmente sobre este método estándar fijo, por ejemplo git rebase -i HEAD^

11
06 марта '14 в 21:37 2014-03-06 21:37 la respuesta se da jakub.g 6 de marzo de 2014 a las 21:37 2014-03-06 21:37

Puedes usar git filter-branch :

 cd test git init touch initial git add -A git commit -m "Initial commit" touch a git add -A git commit -m "a" touch b git add -A git commit -m "b" git log --> 8e6b49e... b 945e92a... a 72fc158... Initial commit git filter-branch --msg-filter \ "sed \"s|^Initial commit|New initial commit|g\"" -- --all git log --> c5988ea... b e0331fd... a 51995f1... New initial commit 
4
22 янв. Respuesta dada por Alexander Groß el 22 de enero. 2010-01-22 21:46 '10 a las 21:46 2010-01-22 21:46