Se pretenden obtener todas las ramas que no están mergeadas a master.
Este comando no funciona si se crean commits custom, se asume que se usan los por defecto que se crean con git.
git log --pretty=oneline --merges --grep="into 'develop'" master..develop | cut -d "'" -f2
Explicación
-
git log --pretty=oneline --merges: Muestra los commits de las ramas mergeadas en el formato de una línea.
-
--grep="into 'develop'": Busca, literalmente, el texto "into 'develop'". Sustituye
develop
por el nombre de tu rama de desarrollo, por ejemplo:dev
,devel
, etc. -
master..develop: es el revision range que indica el rango entre el que se buscarán los commits.
-
cut -d "'" -f2: corta el texto entre '' para obtener el nombre de la rama.
Cambia develop por tu rama de desarrollo, por defecto master es la que se usa para producción.
git branch --merged | egrep -v "(^\*|master|develop)" | xargs git branch -d