2012-02-20 7 views
5

Tengo un repositorio de git para un proyecto en el trabajo. Cada vez que lanzamos una versión de nuestro software, creamos una rama de lanzamiento para ella. Hay una rama de versión 1.0, una rama de versión 1.1, etc. Cuando necesitamos crear una revisión para esa versión, asignamos la corrección a esa rama de versión, y luego fusionamos esa solución en nuestra rama de desarrollo principal.¿Cómo puedo verificar que todas las correcciones de la versión de lanzamiento de un proyecto git se hayan fusionado en el maestro?

A veces olvidamos el último paso en nuestro apuro para corregir un error de producción, y luego sale una nueva versión sin la revisión de nuestro problema anterior.

¿Hay un comando fácil de Git que comprueba si todas nuestras ramas de nuestra versión se han fusionado en master, y si no, cuál se compromete en qué ramas?

Respuesta

5

Puede probar git branch --no-merged master. Esto debería incluir todas las ramas que no se hayan combinado en master.

Otro enfoque es escribir git log master..branch, que mostrará los resultados vacíos si la rama se fusiona en el maestro, y de lo contrario presentará una lista de confirmaciones no fusionadas.

+0

¡Oooo, eso es útil! ¿Hay alguna manera de solicitar una lista de confirmaciones específicas que no se hayan fusionado? –

+0

Si desea una lista de confirmaciones en la rama 'other' que no se hayan fusionado en' master', lo más simple es 'git log master..other'. –

+0

Bueno, espera, eso hace que esto sea aún más fácil. Si git log origin/master..origin/releaseX está en blanco, se fusiona. De lo contrario, es una lista de compromisos perdidos, ¿verdad? –

Cuestiones relacionadas