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
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
.