Git – move commit dentro de la twig, luego inserta las twigs

¡He mirado alnetworkingedor y no puedo encontrar la respuesta a esto! Soy un git n00b completo y realmente agradecido a cualquiera que pueda darme algunos consejos.

Inicialmente tenía una larga twig de confirmaciones en mi repository y quería cambiar el post que había asignado a una confirmación previa (maestro ~ 14) en la twig

Así que lo hice

git checkout master~14 git commit --amend -m "added the new description for the commit bla bla bla" 

Lamentablemente, ahora me colocaron en el modo cabeza separada. Entonces me entró el pánico y creé una nueva twig para no perder la reference a este compromiso.

 git branch detached 

Ahora tengo una situación como esta, donde tengo el master ~ 14 en la parte superior del tree en su propia twig, y ​​quiero volver a ponerlo donde estaba en el tree, sin causar ningún conflicto o sobrescribir nada

 + [detached] xxxxx * + [master] xxxxx * + [master^] xxxxx * + [master~2] xxxxx * + [master~3] xxxxx * + [master~4] xxxxx * + [master~5] xxxxx * + [master~6] xxxxx * + [master~7] xxxxx * + [master~8] xxxxx * + [master~9] xxxxx * + [master~10] xxxxx * + [master~11] xxxxx * + [master~12] xxxxx * + [master~13] xxxxx * + [master~14] xxxxx 

También me gustaría (después de que esto se resuelva) ramificar mis commits del maestro ~ 14..master ~ 5 como un nuevo tree y finalmente dominar ~ 4..master como otro tree.

q1:

 git checkout master 

Esto te devolvería al consejo maestro

o usar

 git reflog 

o git reflog show master

para ver cómo se movían los indicadores

Pero un mejor enfoque para todo el asunto sería

 git rebase -i master~14 

a continuación, marque el compromiso necesario para detener la modificación, entonces no estaría en estado HEAD separado

q2: Para mí suena como si quisieras master ~ 14..master ~ 5 y master ~ 4..master para comenzar desde master ~ 15 si eso es correcto (crearé twigs con nombre para simplificar):

 git branch feature1 master~5 git branch master15back master~15 git rebase --onto master15back feature1 master 

ver git rebase doc

Para q1, puedes probar git rebase -i master ~ 14

Después de esto, cambie la relación de compromiso a r significa actualizar el post de confirmación