remota rama partir otra crear git git-merge branching-and-merging

partir - ¿Encontrar ramas de Git sin mezclar?



git push (4)

El siguiente script encontrará todas las ramas de origin/* que están por delante de la rama actual

#!/bin/bash CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) echo -e "Current branch: /e[94m$CURRENT_BRANCH/e[0m" echo '''' git branch -a | grep remotes/origin/ | while read LINE do CMD="git diff --shortstat remotes/origin/${CURRENT_BRANCH}...${LINE}" if $CMD | grep '' file'' > /dev/null; then echo -e "/e[93m$LINE/e[0m" | sed ''s/remotes//origin////'' $CMD echo '''' fi done

La versión actualizada del script.

Tengo un repositorio Git con muchas sucursales, algunas de ellas ya fusionadas y otras no. Dado que la cantidad de sucursales es bastante grande, ¿cómo puedo determinar qué sucursales aún no se han fusionado? Me gustaría evitar tener que hacer una fusión de "pulpo" y volver a unir las ramas que ya se han fusionado.


Prueba esto:

git branch --merged master

Hace lo que dice en la lata (enumera las ramas que se han fusionado en el master ). También puedes subir el inverso con:

git branch --no-merged master

Si no especifica master , por ejemplo ...

git branch --merged

luego te mostrará las ramas que se han fusionado en el HEAD actual (de modo que si estás en master , es equivalente al primer comando; si estás en foo , es equivalente a git branch --merged foo ).

También puede comparar sucursales en sentido ascendente especificando la -r y una referencia con la que se debe verificar, que puede ser local o remota:

git branch -r --no-merged origin/master


También puede usar el parámetro -r para mostrar ramas remotas que no se fusionaron en el maestro:

git branch -r --merged master git branch -r --no-merged


Si una rama ya está fusionada, fusionarla de nuevo no hará nada. Por lo tanto, no debe preocuparse por la "fusión" de las ramas que ya están fusionadas.

Para responder a su pregunta, simplemente puede emitir

git branch --merged

para ver las ramas fusionadas o

git branch --no-merged

Para ver las ramas sin unir. Su rama actual está implícita, pero puede especificar otras ramas si lo desea.

git branch --no-merged integration

le mostrará las ramas que aún no se han fusionado en la rama de integration .