Tengo el siguiente problema en uno de nuestros servidores: quiero un usuario que extraiga de un repositorio de Git de forma regular (usando un cronjob), pero que solo haga extracciones de avance rápido (el contenido en el servidor también cambia a veces). Con Git moderno (1.6.6 y posterior), simplemente puedo hacer
git pull --ff-only origin master
pero como sólo tengo instalado 1.6.0.2, no puedo hacer eso. Pensé que podría solucionarlo haciendo
git config merge.ff only
git pull origin master
pero resultó que eso no funcionó (no hay error, aunque todavía se fusiona). ¿Alguna idea de cómo puedo resolver esto?
Respuesta1
Encontré una solución a esto verificando manualmente si la rama actual ( master
) es en realidad descendiente de la rama que se fusionará ( origin/master
):
git fetch origin
if [ $(git branch --contains master -a | grep origin/master) ]
then
git merge origin/master
else
echo "No fast-forward, aborting merge"
fi