Skip to content

Instantly share code, notes, and snippets.

@mrroot5
Last active October 9, 2020 07:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrroot5/c8325d5682e4b76f1cd6f04df9fed1e5 to your computer and use it in GitHub Desktop.
Save mrroot5/c8325d5682e4b76f1cd6f04df9fed1e5 to your computer and use it in GitHub Desktop.
Git log: Obtener las ramas para hacer una release y mergearlas a master. Keywords: merge, not merged, unmerged, log, deferred, release, git

Ramas para release

Se pretenden obtener todas las ramas que no están mergeadas a master.

Aclaraciones

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.

Eliminar localmente ramas mergeadas a master

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment