Utilisez plutôt des liens solides. Cela diffère d'un lien souple (symbolique). Tous les programmes, y compris git
traitera le fichier comme un fichier normal. Notez que le contenu peut être modifié en changeant soit la source ou la destination.
Sur macOS (avant 10.13 High Sierra)
Si vous avez déjà installé git et Xcode, installer hardlink . C'est un microscopique outil pour créer des liens durs .
Pour créer le lien dur, il suffit :
hln source destination
Mise à jour de macOS High Sierra
Le système de fichiers Apple prend-il en charge les liens durs de répertoire ?
Les liens durs de répertoire ne sont pas pris en charge par le système de fichiers Apple. Tous les liens durs de répertoire sont convertis en liens symboliques ou en alias lorsque vous convertissez les formats de volume HFS+ en APFS sur macOS.
_De APFS FAQ sur developer.apple.com_
Suivez https://github.com/selkhateeb/hardlink/issues/31 pour des alternatives futures.
Sur Linux et les autres versions d'Unix
El ln
La commande peut faire des liens durs :
ln source destination
Sous Windows (Vista, 7, 8, )
Utilice mklink pour créer une jonction sur Windows :
mklink /j "source" "destination"
7 votes
Y a-t-il un inconvénient à utiliser des liens physiques pour quelque chose comme ça ?
14 votes
Avec Windows 7, "mklink /d" (lien symbolique de répertoire) ne fonctionne pas avec git, mais "mklink /j" (juction) fonctionne bien.
3 votes
Si le fichier est autogénéré par une application qui le régénère de telle sorte qu'elle supprime le fichier et en crée un nouveau, alors oui, c'est un problème que les liens en dur vers les fichiers ne résoudront pas.
7 votes
@EhteshChoudhury vous ne pouvez pas faire des liens durs pour les annuaires.
2 votes
Les liens durs exigent que le lien et la destination soient sur le même disque.
0 votes
@EhteshChoudhury J'ai essayé d'utiliser des liens en dur et j'ai fini par avoir des erreurs inattendues avec les anciens fichiers qui ont été commis par accident au lieu des fichiers mis à jour. Ma solution a été d'écrire un script pour convertir les liens souples en liens durs, commiter et ensuite rétablir tous les liens en liens souples à nouveau.