ver tag repositorio modificados example eliminar crear archivos git hook githooks

repositorio - git push tag



AplicaciĆ³n de un gancho post-commit de git a todos los repositorios actuales y futuros (4)

Quiero agregar este enlace para aplicar a todos los repositorios de git actuales (y futuros) en los que estoy trabajando

Con git 2.9+ (junio de 2016), todo lo que harías es:

git config --global core.hooksPath /path/to/my/centralized/hooks

Consulte " cambiar ganchos de git predeterminados ": esto se ha hecho para administrar ganchos centralizados.

He escrito un gancho Git post-commit y funciona correctamente. Sin embargo, quiero agregar este enlace para aplicar a todos los repositorios de git actuales (y futuros) en los que estoy trabajando. Intenté agregar el enlace a mi ~/.git/hooks/ lugar de en el directorio de enlaces en el directorio del proyecto, sin embargo, esto no pareció funcionar.

¿Hay alguna forma de crear ganchos Git globales que se apliquen a todos los repositorios de mi sistema (sin tener que copiarlos en cada directorio de proyecto)? Si no, ¿cuál sería la mejor solución en el futuro, tal vez una plantilla git-init?


A partir de git 1.7.1, puedes configurar init.templatedir en tu gitconfig para decirle a git dónde buscar plantillas.

Póngalo así:

git config --global init.templatedir ''~/.git_template''

Después, los nuevos repositorios que crees o clones usarán este directorio para las plantillas. Coloque los ganchos que desee en ~/.git_template/hooks . Los repositorios existentes se pueden reinicializar con las plantillas adecuadas ejecutando git init en el mismo directorio .git está en.

Para versiones de git anteriores a 1.7.1, ejecutar git init --template ~/.git_template funcionará si eres como yo y aún deseas administrar tu directorio .git_template junto con el resto de tus archivos de puntos. También puede usar el entorno $GIT_TEMPLATE_DIR para decirle a git init dónde está su directorio de plantillas.


Si los quiere en cualquier parte de su sistema (incluidos los usuarios además de usted), puede modificar el contenido del directorio de la plantilla instalada, que están en $PREFIX/share/git-core/templates/hooks , donde $PREFIX es probablemente /usr/local o /usr .

Si quieres que esto sea solo para ti, entonces sí, lo más simple sería la opción --template de git-init. Puede mantener fácilmente un directorio de plantillas personales que tenga enlaces simbólicos a la versión instalada de los valores predeterminados que desea mantener (enlaces individuales, el directorio de información ...) y luego su propio contenido en hooks/post-commit y cualquier otra cosa que desee personalizar


Un enfoque minimalista es crear un directorio git_hooks/ en tu repositorio para rastrear los enlaces que escribes para ese proyecto, llamar la atención de los futuros usuarios mencionándolos en un README y confiar en ellos para hacer lo correcto después de que han clonado He reflexionado sobre esto por un tiempo y elegí un enfoque incremental. En el futuro, podría considerar usar una herramienta como git-hooks .