Si creo un nuevo script de gancho en mi repositorio local en repo / .git / hooks / post-commit y luego ejecuto "git push", ¿los hooks se envían al control remoto? Entonces, cuando los otros desarrolladores ejecuten "git pull" desde el mismo origen, ¿obtendrán mis nuevos ganchos?
94
Respuestas:
No. Los hooks son por repositorio y nunca se insertan. Del mismo modo, la configuración del repositorio tampoco se inserta, ni hay nada dentro
.git/info
, ni una serie de otras cosas.Empujar y tirar solo intercambia ramas / etiquetas y objetos de confirmación (y cualquier cosa accesible desde una confirmación, por ejemplo, árboles, blobs).
fuente
.githooks
directorio que estaría controlado por versiones, luego sym-link o crear scripts de enlace de contenedor desde adentro.git
. La clonación no se conectaría automáticamente,.githooks
pero una vez conectada, puede insertar y extraer nuevas versiones de los scripts de enlace.No, los ganchos de git no se insertan ni se tiran, ya que no forman parte del código del repositorio.
Consulte la documentación para obtener una lista de ganchos sencillos del lado del cliente y del lado del servidor.
Si desea habilitar algunos enlaces para todos los clientes que clonan o extraen de un repositorio determinado, debe agregar los enlaces a su base de código y luego crear su propio script para copiarlos o vincularlos desde
repo/.git/hooks/
.fuente
setup.sh
que el desarrollador ejecuta cuando clona el repositorio por primera vez. Después de esto, las actualizaciones de los ganchos pueden ocurrir automáticamente al tener un gancho que vuelva a ejecutar un script actualizándolos después de cada extracción, por ejemplo. Por lo tanto, no tiene que depender del desarrollador para que lo haga por sí mismo.Lamentablemente, no, pero desde git 2.9 puede colocarlos en la carpeta .githooks (como otros mencionaron) y ejecutar:
Por lo tanto, no se necesitan enlaces simbólicos ni archivos de copia.
fuente