Est-il possible de dire à Git d'ignorer les liens symboliques? Je travaille avec un environnement mixte Linux/Windows et, comme vous le savez, les liens symboliques sont traités très différemment entre les deux.Ignorer les liens symboliques dans .gitignore
Répondre
Utilisez la version git> = 1,6
Git utilisé pour traiter sym-liens les mêmes que les fichiers réguliers, mais les nouvelles versions git (> = 1.6) vérifier si un fichier est au-delà d'un lien symbolique et jeter une erreur fatale.
.: par exemple
# git init
# mkdir newdir
# touch newdir/foo
# git add newdir/foo
# git commit -m 'add foo'
# mv newdir /tmp/
# ln -s /tmp/newdir
# touch newdir/bar
# git add newdir/bar
fatal: 'newdir/bar' is beyond a symbolic link
# git add/tmp/newdir
fatal: '/tmp/newdir' is outside repository
# git --version
git version 1.7.3.4
git 1.7.9.5 ajoute des liens symboliques très bien, même quand ils pointent vers quelque chose en dehors du dépôt ... – Izkata
Non, il est impossible de le faire à l'échelle mondiale. Cependant, si vous avez beaucoup de liens symboliques, voici un script bash que vous pouvez utiliser pour les ajouter facilement au fichier .gitignore de votre repo:
for f in $(git status --porcelain | grep '^??' | sed 's/^?? //'); do
test -L "$f" && echo $f >> .gitignore; # add symlinks
test -d "$f" && echo $f\* >> .gitignore; # add new directories as well
done
Une solution géniale! Fonctionne très bien :) Merci beaucoup! –
Que voulez-vous dire par ignorer? Vous pouvez simplement ajouter les liens symboliques à votre .gitignore si c'est ce que vous voulez. –
Oui, mais si seulement ajouter les noms de fichiers, il serait également ignorer les fichiers qui sont symétriques ... même si je suppose que je pourrais spécifier les chemins complets. J'espérais quelque chose que je pourrais coller dans un fichier de configuration ... – Andrei
Votre meilleur pari pourrait être de générer la liste avec un 'find * -type l', je suppose. – Cascabel