tag remove describe commands git merge git-squash

describe - git remove tag



Git: ¿Cómo aplastar los cometidos que tienen un merge-commit en medio? (1)

Estoy trabajando en una rama característica.

  1. Hizo varias confirmaciones. Aplastado confirma.
  2. Cambios empujados a la rama remota. Tiene conflictos.
  3. Cambios combinados del maestro, conflictos resueltos en la rama de la característica. (git fetch origin master> git merge FETCH_HEAD> resolvió conflictos manualmente> git commit> git push)
  4. Hice un compromiso más.

Por lo tanto, el historial de compromiso actual se ve así. De lo actual a lo viejo:

  1. cometer 3
  2. cometer m yyy (fusionado)
  3. cometer 2

¿Cómo aplasto por encima de 3 confirmaciones en 1 antes de fusionar mi rama de función para dominar?


Puede rebase -i comenzando con el padre de commit 2 (es decir, el commit en el master que se bifurcó. Es probable que tenga que volver a resolver los conflictos cuando llegue al commit de combinación).

Así que si tu historia parece

* D commit 3 (HEAD) * M merge /| | * C commit 2 * | B commit on master |/ * A (master)

Comience con git rebase -i A Verá una lista de confirmaciones que incluyen master y your_branch , pero no la confirmación de combinación. pick el primero ( B o C , dependiendo del tiempo) y squash el resto.