Tengo dos carpetas:
/home/me/code/project/
/srv/www/projectfiles/
En la /home/me/code/project
carpeta, hice un enlace simbólico static
a/srv/www/projectfiles/
es decir /home/me/code/project/static/
->/srv/www/projectfiles/
Cuando trato de confirmar ahora, no ve ninguno de los archivos detrás del enlace simbólico, y en su lugar intenta confirmar el enlace simbólico como un archivo.
¿Cómo confirmo un archivo (p /srv/www/projectfiles/style.css
. Ej. ) Que está detrás del enlace simbólico?
git
symbolic-link
Macha
fuente
fuente
Si está utilizando Linux, me gusta especialmente la solución proporcionada por GitBLSR . Es una biblioteca que se carga a través de LD_PRELOAD que elimina de forma transparente los enlaces simbólicos a archivos y carpetas fuera de un repositorio.
Instalarlo para una cuenta de usuario local es simple:
Esto compilará la biblioteca y creará un alias como el siguiente en
~/.bashrc
:El uso de este alias habilita la eliminación de referencias de enlaces transparentes.
fuente
Considere usar un punto de montaje para montar la carpeta de destino (en la que actualmente tiene un enlace simbólico) para que aparezca en la ubicación que desea debajo del proyecto git. He usado este enfoque con éxito.
fuente
Mueva los archivos a la carpeta y elimine el enlace simbólico. Git no atraviesa enlaces simbólicos.
(Y yo) supondría que está haciendo un enlace simbólico a un conjunto de archivos que no controla o no desea modificar, por lo que no necesitan ser versionados.
fuente
Otra solución alternativa, la única que encontré que también funciona para directorios, es cambiar el árbol de trabajo de git para las acciones específicas.
fuente