2012-04-19 21 views
23

Queremos almacenar algo de metainformación sobre la confirmación en una base de datos externa. Durante un clon o un pago, esta base de datos debe ser referida y copiamos la metainformación a un archivo en el repositorio que está clonado. La base de datos es necesaria en lugar de simplemente usar un archivo para indexar y buscar, etc. ...ganchos git: ¿hay un gancho clon?

Pensé que si hubiera un gancho clon, podríamos desencadenar esto. No pude encontrar los ganchos clon en la muestra en .git/hooks. hay uno? ¿La opción post-checkout es la única posibilidad en el lado del cliente?

Respuesta

20

bien, una forma de hacerlo es utilizar la opción clone --template.

Especifique la ubicación donde los ganchos del lado del cliente se almacenarán como valor en el conmutador --template. ¡Los ganchos se copian en el clon y el gancho de pospago se dispara inmediatamente!

+4

Pero el directorio de plantillas no puede estar dentro del repositorio que está clonando; ya debe existir en el sistema de archivos antes de clonar. – chrishiestand

+1

http://stackoverflow.com/a/2141577/1183537 me ayudó mucho, más aclaraciones y aborda lo que dijo @chrishiestand – SuckerForMayhem

10

Cuando clona un repositorio remoto, no puede ejecutar ningún gancho del lado del cliente porque los ganchos son locales para su copia de trabajo y está creando uno desde cero. Cuando extraiga nuevos cambios desde un repositorio remoto, git ejecutará su enganche local post-merge si existe.

No se ejecuta nada en el servidor como resultado de una operación de extracción. Una operación push activará los ganchos update y post-update de los servidores.

Consulte el Git Book para obtener más información.

Cuestiones relacionadas