J'ai deux dossiers:
/home/me/code/project/
/srv/www/projectfiles/
Dans le /home/me/code/project
dossier, j'ai un lien symbolique static
vers/srv/www/projectfiles/
c'est à dire /home/me/code/project/static/
->/srv/www/projectfiles/
Lorsque j'essaie de valider maintenant, il ne voit aucun des fichiers derrière le lien symbolique et essaie plutôt de valider le lien symbolique lui-même en tant que fichier.
Comment valider un fichier (par exemple /srv/www/projectfiles/style.css
) qui se trouve derrière le lien symbolique?
git
symbolic-link
Macha
la source
la source
Si vous utilisez Linux, j'aime particulièrement la solution fournie par GitBLSR . Il s'agit d'une bibliothèque chargée via LD_PRELOAD qui déréférence de manière transparente les liens symboliques vers des fichiers et des dossiers en dehors d'un référentiel.
L'installer pour un compte utilisateur local est simple:
Cela compilera la bibliothèque et créera un alias comme celui-ci dans
~/.bashrc
:L'utilisation de cet alias permet le déréférencement de lien transparent.
la source
Envisagez d'utiliser un point de montage pour monter le dossier de destination (auquel vous effectuez actuellement un lien symbolique) pour qu'il apparaisse à l'emplacement auquel vous le souhaitez sous le projet git. J'ai utilisé cette approche avec succès.
la source
Déplacez les fichiers dans le dossier et supprimez le lien symbolique. Git ne traverse pas les liens symboliques.
Il (et moi) supposerait que vous établissez une liaison symbolique avec un ensemble de fichiers que vous ne contrôlez pas ou que vous ne souhaitez pas modifier, en tant que tels, ils n'ont pas besoin d'être versionnés.
la source
Une autre solution de contournement - la seule que j'ai trouvée qui fonctionne également pour les répertoires - consiste à modifier l'arborescence de travail git pour les actions spécifiques.
la source