¿Hay algún gancho de git para tirar?


157

Necesito realizar algunas acciones (preparar archivos de mensaje gettext * .mo) en mi proyecto cada vez que ejecuto git pull. ¿Hay algún gancho de git adecuado, que podría usar para este propósito, por favor?


15
@ Alan: Eso definitivamente no es un duplicado. Esta pregunta es sobre un gancho en el lado local , donde corres git pull. El que vinculó se trata de activar un gancho en el control remoto , cuando alguien tira de él. (Y es una pregunta muy extraña, implica que están usando un repositorio central no descubierto ...)
Cascabel

2
@ Alan: Suficientemente fácil de perder si estabas descremado, espero que no haya sido demasiado duro. Me pongo paranoico por las preguntas que se cierran incorrectamente, ya que reabrir los votos lleva mucho más tiempo en acumularse.
Cascabel

1
Jefromi: Tienes toda la razón. No hay necesidad de preocuparse. Me entristecí por haber escaneado e iniciado el cierre.
Alan Haggai Alavi el

Respuestas:


184

La githookspágina del manual es una lista completa de ganchos. Si no está allí, no existe.

Dicho esto, no es un gancho posterior a la fusión, y todos los tirones incluye una fusión, aunque no todas las fusiones son tirones. Se ejecuta después de las fusiones y no puede afectar el resultado. Nunca se ejecuta si hubo conflictos; tendrías que retomar eso con el enlace posterior a la confirmación si realmente importa, o invocarlo manualmente.


39
@Jefromi "todos los pulls incluyen una fusión", incluso si hago un pull --rebase?
FMaz008

11
También se descubrió que la fusión nunca se ejecuta cuando se ejecuta git pullsi no hay cambios que realizar (ya está actualizado).
Joe Bergantine

11
@jbergantine: supongo que fui impreciso en mi respuesta: todos los tirones que no son no operativos incluyen una fusión. Pero ... en general, si está tratando de tomar medidas cada vez que ocurre una fusión, no creo que quiera tomar medidas cuando alguien hace una fusión sin operación. Por ejemplo, sería un desperdicio para el OP recrear esos archivos si nada ha cambiado.
Cascabel

12
Si realmente quieres hacer algo cada vez que tiras ... puedes alias 'git pull' para llamar a un script que hace el git pull y luego hace otra cosa
Shadow Radiance

13
git pullcon rebase (ya sea con --rebaseo con la configuración pull.rebase=true) no incluye una fusión y no activará el enlace posterior a la fusión. Para este caso, puede especificar --no-rebaseasegurarse de que se activa el gancho o utilizar el gancho posterior a la reescritura.
Victor Schröder

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.