2012-04-03 11 views
39

La opción "Esta solicitud de extracción se puede combinar automáticamente [Solicitud de extracción de combinación]" en github es genial, excepto que crea burbujas de fusión.Combinación automática de solicitudes de extracción en Github sin la burbuja de combinación

¿Hay alguna manera de utilizar este botón/funcionalidad en github sin que se formen burbujas de fusión?

+0

No estoy seguro de haber escuchado antes el término "burbuja" (en relación con git); Supongo que significa "comprometer"? – chharvey

+0

@chharvey Por favor, google "fusionar burbuja". :) – Marco

Respuesta

3

Y .. lo arreglaron!

Ver GitHub's blog on squashing your merge commits

Si vas a la configuración de su repositorio, verá una sección "Combinar los botones" (en Opciones). Se tendrá 2 botones disponibles:

aceptan fusión compromete
Añadir todas las confirmaciones de la rama de la cabeza a la rama de base con una combinación cometió.

y

Permitir calabaza fusión
Combinar todos los envíos de la rama de la cabeza en una única cometen en la rama de base.

Si desmarca la primera opción (y deja Permitir combinación de squash marcada), PR "fusiona" dará como resultado rebase y aplasta.

+9

Excepto que squash no es equivalente a rebase + fusión de avance rápido en el caso en que tenga varias confirmaciones que desee mantener separadas ... –

+0

@FlorentGuillaume ¡Tiene toda la razón! Desafortunadamente, eso no tiene nada que ver con evitar una burbuja de fusión o no. ; D – Marco

+2

Solo digo que * Permitir que la combinación de squash * tenga efectos secundarios (obvios) además de evitar la fusión de burbujas. –

40

El git blog dice usando este botón siempre se obtiene una combinación --no-ff (sin fusión avance rápido).

Habría que hacer una fusión manual si no desea fusionar las burbujas:

git checkout master 
git remote add cameronmcefee git://github.com/cameronmcefee/Spoon-Knife.git 
git fetch cameronmcefee 
git merge cameronmcefee/my-branch 
git push origin master 
+1

Puede configurar su repo para obtener solicitudes de extracción sin agregar un control remoto: https://help.github.com/articles/checking-out-pull-requests-locally –

+2

realizamos una automatización simple para hacer una fusión de avance rápido en github https://github.com/checkstyle/checkstyle/blob/master/fast-forward-merge.sh –

+0

¿Cuál es el motivo de '--no-ff' en este caso? – gvlasov

Cuestiones relacionadas