Cargando...

Bloquear push a una branch

Git, tiene la posibilidad de ejecutar scripts bajo ciertas acciones.

El uso de estos hooks, permite hacer, desde deployments automaticos, hasta comparativos de archivos para poder llevar un control todavía más detallado del proyecto.

Si (como yo) trabajas con distintos proyectos derivados de un mismo código, es posible que debas evitar hacer un push al master y con un hook lo puedes hacer.Para esto hay que crear un archivo pre-push, en la ruta .git/hooks/ con el siguiente contenido:

#!/bin/bash protected_branch='master' current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') if [ $protected_branch = $current_branch ] then read -p "Vas a subir cambios al master, estas seguro? [S|n] " -n$ echo if echo $REPLY | grep -E '^[Ss]$' > /dev/null then exit 0 # el push procede fi exit 1 # cancelar el push else exit 0 # el push procede fi

Así, al hacer un push, se ejecutará este script que validará que la branch que vamos a subir no sea la que estámos protegiendo.

Quieres saber más de git?
Contáctame: ivan.miranda{arroba}sincco.com