receive ocean husky hooks digitalocean automatically linux git githooks

linux - ocean - npm pre-commit



Enlace simbólico a un gancho en git (4)

¿por qué no solo cp ./hooks/* .git / hooks /

esto funcionó para mí en Mac OS

Escribí mi propio gancho post-merge personalizado, ahora agregué un directorio de "ganchos" a mi carpeta de proyecto principal (ya que git no rastrea los cambios en .git / hooks), en algún lugar leí que puedo hacer un enlace simbólico de ganchos a .git / hooks para no tener que copiar el archivo de una carpeta a la otra cada vez que alguien lo cambia, así que intenté:

ln -s -f hooks/post-merge .git/hooks/post-merge

Pero parece que no funciona, ¿alguna idea de por qué? "ln hooks / post-merge .git / hooks / post-merge" funciona bien, pero hacer un enlace duro es lo mismo que copiar, supongo ...


Cambiar el directorio antes de vincular

cd /path/to/project-repo/.git/hooks ln -s -f ../../hooks/post-merge ./post-merge


El cálculo de la ruta se realiza en relación con el enlace simbólico. Entendamos usando un ejemplo,

ln -s path/to/file symlink/file

Aquí, la ruta al archivo debería ser la ruta relativa de la ruta del enlace simbólico.
El sistema realmente calcula la ruta del archivo como symlink/path/path/to/file
El comando anterior debe volver a escribirse como

ln -s ../path/to/file symlink/path

La estructura de la carpeta es,

/código
------ enlace simbólico / archivo
------ ruta / a / archivo


usted acaba de usar el camino equivocado, debería ser:

ln -s -f ../../hooks/post-merge .git/hooks/post-merge