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