2011-05-12 11 views
24

Escribí el enlace precompromiso en mi repositorio central. Cuando mis clientes clonan el repositorio, nunca propaga los enganches. Me gustaría que los ganchos también se copien en el repositorio de mi cliente. Mis clientes son usuarios de Windows y usan msysgit como cliente de git.Cómo propagar GIT Hook mientras clono

¿Hay alguna forma de que pueda obtener los ganchos copiados en los repositorios locales?

+1

posible duplicado de ganchos [Git -? Propagación del repositorio remoto] (http://stackoverflow.com/ preguntas/3471028/git-hooks-propagating-from-remote-repository) – ralphtheninja

+2

posible duplicado de http://stackoverflow.com/questions/427207/can-git-hook-scripts-be-managed-along-with-the- repositorio (aunque la sugerencia de enlace simbólico puede no funcionar en Windows ...) –

Respuesta

9

Puede escribir un script de configuración, p. setuphooks.sh, que extrae los scripts de gancho y los instala en los lugares correctos. No debería ser difícil escribir, ya que curl podría hacer la mayor parte del trabajo.

O podría simplemente incluir los ganchos en el repositorio en una carpeta normal como .hooks, y copiarlos todos al .git/hooks.

Otros han sugerido que los enlaces simbólicos, pero eso plantea problemas para los usuarios de Windows.

9

Manera simple, pero medio método. ;-)

Me utilizan en Windows Git.

  1. Encuentra la carpeta instalada de git.
  2. Y encuentre la subcarpeta "share \ git-core \ templates \ hooks"
  3. Luego copie los scripts de gancho como desee. esa carpeta contiene muestras de scripts hook, cuando se genera el comando 'git init'.
  4. Si comando 'git clone', entonces ganchos carpeta contiene archivos que ha copiado en el paso 3.
+0

Lo aprecio –

+0

¡Eso es genial, gracias! Tenga en cuenta que la misma carpeta en Linux se encuentra en '/ usr/share/git-core/templates/hooks'. – hoefling

+0

¿Qué significa la frase 'Estoy usando en Windows Git'? Estoy seguro de que hay un error tipográfico allí, pero no sé exactamente lo que quería decir – knocte