Problemas de Git post-update Hook: a veces el maestro no se actualiza

Aquí está la configuration que estoy usando en este momento:

GANCHO 1 Usaremos un gancho post-actualización en nuestro repository HUB. Por lo tanto, cuando un clon realiza una inserción en el HUB, el GANCHO se activa y, de acuerdo con la location del puntero HEAD, accederá al DIRECTORIO DE TRABAJO correspondiente, ya sea en desarrollo o maestro, y desde allí: tirar del cubo a la twig de desarrollo O tirar del cubo a la twig principal.

En ~/private/repos/projectname_hub.git/hooks crea un file llamado post-update pico post-update y coloca lo siguiente dentro:

 #!/bin/sh echo echo "**** Pulling changes into Dev [Hub's post-update hook]" echo case " $1 " in *'refs/heads/dev'*)       cd /home/user/www/dev/ || exit       unset GIT_DIR       git pull hub dev       echo       echo "Dev was pulled"       echo       ;; esac case " $1 " in *'refs/heads/master'*)       cd /home/user/www/www/ || exit       unset GIT_DIR       git pull hub master       echo       echo "Master was pulled"       echo       ;; esac exec git-update-server-info 

GANCHO 2 Para evitar conflictos de historial, si nos comprometemos directamente con el server de producción por algún motivo, cada vez que se produce una confirmación principal principal, PULSAMOS esos cambios confirmados en el HUB.

En ~/www/www/.git/hooks crea un file llamado post-commit pico post-commit

 #!/bin/sh echo echo "**** pushing changes to Hub [Prime's post-commit hook]" echo git push hub 

Con la configuration anterior, a veces, no puedo precisar cuándo, podemos haberle enviado cosas al maestro, dice "Todo está actualizado", pero no es así.

Obviamente todos los files fueron agregados y comprometidos.

Entonces, y después de un poco de ayuda, terminamos encontrando que el problema es, en la configuration de Hook.

Me han dicho que, en lugar de utilizar en el gancho post-update : git pull hub master podría usar:

 git fetch hub && git reset --hard hub/master 

Mi pregunta es: ¿alguien puede dar la explicación necesaria por qué funciona el git pull hub dev , y git pull hub master veces no funciona, y cómo me ayudará esta línea?

Sí, soy bastante nuevo en el uso de git, y deseo no cegar copyr pegar lo anterior sin al less entender. Si alguien deja caer unas pocas líneas, sería muy apreciado.

Actualización: cuando hago git branch -a esto es lo que obtengo:

 * master remotes/hub/dev remotes/hub/master 

Gracias por adelantado.

 git fetch hub && git reset --hard hub/master 

Esta es una alternativa solo si no se desarrolla en /home/user/www/www/ : restablece el master HEAD de www/www al que se obtuvo del hub .
Pero ese no es el caso para usted, ya que tiene un compromiso posterior en www/www para hacer retroceder.

es posible que hayamos llevado las cosas al maestro, dice "Todo está actualizado", pero no es así.

Por lo general, se debe a una situación de CABEZA DESMONTABLE (en la que se compromete en una twig sin CABEZA). Verifique la git branch -a cuando eso ocurra, y asegúrese de estar en una sucursal.