En mi twig de trabajo, tengo tres parches dependientes. Todos ellos no fusionados.
<commit id -1> <Commit id -2> <Commit id -3>
¿Cómo puedo agregar nuevos cambios a <Commit id -2>
?
Actualmente aquí está cómo lo estoy haciendo.
git stash git reset --hard HEAD~1 git stash apply git add . git commit --amend git cherry-pick <commit id -1>
Esto está funcionando sin ningún problema. Pero, ¿hay una forma mejor en la que pueda enviar los files por etapas a la confirmación que desee?
Puede usar la database interactiva y editar la confirmación deseada. Algo como:
git rebase --interactive abc4321d^
En el editor, cambie la pick
para edit
o e
. Aplicar los cambios ( git stash pop
) y luego confirmarlos.
De esta forma puede modificar múltiples commits antiguos en la misma ejecución. Para continuar la rebase y abordar el siguiente compromiso, usará:
git rebase --continue
En cualquier momento, si sientes que hiciste algo mal, puedes cancelar la rebase usando:
git rebase --abort
Tenga en count que volver a escribir la historia pública (un historial en un informe compartido con otros) es un mal hábito . Debería volver a escribir las confirmaciones anteriores solo si aún no están publicadas.