Skip to content

Integrar con un merge commit

Ya revisaste el diff y el Preview. Antes de integrar, los requisitos de checks y aprobaciones tienen que estar satisfechos. Seguí en el PR de GitHub en el navegador, o usá la alternativa por CLI desde el host, en lab. Primero comparemos cómo puede quedar registrado el cambio en main:

MétodoQué agrega a mainCuándo conviene
Create a merge commitConserva commits de rama y agrega un commit con dos padresEste taller, porque reutilizamos development
Squash and mergeAgrupa cambios del PR en un commit nuevoRama corta que termina tras el PR
Rebase and mergeReaplica commits con SHA nuevos, sin commit de mergeHistoria lineal acordada con el equipo

Son alternativas conceptuales. No ejecutes las tres sobre el mismo PR. En este taller vamos a usar merge commit porque después reutilizamos development. En una rama larga, squash puede confundir comparaciones posteriores, ya que los commits originales siguen en la rama.

Con un merge commit podés reconocer los commits originales y el punto donde se unieron las ramas. Sus dos padres son los commits de main y development que se integraron. Con squash, quien lea main verá una sola unidad por PR. Con rebase verá cada commit en una línea continua, pero con identificadores distintos de los originales. Los tres métodos incorporan los cambios. Lo que cambia es cómo queda registrado el trabajo.

Merge commit

Historia conceptual con commits de rama y commit de merge con dos padres

Diagrama del taller; ejemplo conceptual.

Squash

Historia conceptual donde los cambios del PR se agrupan en un nuevo commit

Diagrama del taller; ejemplo conceptual.

Rebase

Historia conceptual donde los commits se reaplican en una línea con SHA nuevos

Diagrama del taller; ejemplo conceptual.

Operación del taller

Para hacer la operación del taller, volvé a Conversation y revisá la conversación y los checks. Bajá al botón verde y abrí su flecha. Elegí Create a merge commit y después Merge pull request → Confirm merge. Conservá development, no la borres.

Selector de métodos de integración de GitHub

Referencia oficial de GitHub.

Alternativa por CLI

Elegí web o CLI para integrar. No repitas la operación si ya hiciste merge.

gh pr merge NUMERO --merge
gh pr view NUMERO --json state,mergeCommit

Después de confirmar, buscá el estado Merged y el commit de merge en GitHub. Si una regla exige checks o aprobación, atendé ese requisito. No uses bypass.

No sigas si el PR no quedó integrado o fallan requisitos. Métodos de merge.