J'ai rencontré un problème avec git. En gros, je mets à faux core.ignorecase
parce que je voulais changer la casse des noms de certains dossiers (puisque je suis sous OSX avec un système de fichiers insensible à la casse, les changements n'étaient pas affichés autrement). Lorsque j'ai extrait mes données, j'ai remarqué que maintenant chaque dossier renommé apparaît deux fois dans le référentiel, avec l'ancien et le nouveau nom. Je ne sais pas quoi faire pour supprimer les anciens dossiers car ils n'apparaissent pas localement (j'ai essayé de définir core.ignorecase
à nouveau, mais cela n'aide pas).
Une solution de contournement similaire à ce commentaire dans un problème msysgit (pour un autre système d'exploitation insensible à la casse: Windows) pourrait-elle aider?
J'ai rencontré ce même problème. Refactorisation d'un nom de package dans Eclipse et le basculement vers une version précédente s'est interrompu car le nom du dossier ne revenait pas. J'utilise Windows 7, Git 1.7.0.2.msysgit.0
Mon dossier a été renommé dans Windows en "
folder
" mais a été affiché comme "Folder
" dans Git.
J'ai résolu le problème en le renommant "Folder
" dans Windows, puis en exécutant:
git mv "Folder" "Folder2"
git mv "Folder2" "folder"
Notez que depuis git 2.0.1 (juin 2014), git mv Folder folder
devrait simplement fonctionner!
Voir " Git: Modification de la capitalisation des noms de fichiers "
Vous pouvez créer une image disque (de préférence une image disque sparsebundle) avec un système de fichiers sensible à la casse et y extraire votre référentiel git.
La capture d'écran de l'Utilitaire de disque ci-dessous montre comment créer une image disque sensible à la casse.
Utilisez la commande suivante sur macOS. Cela changera votre configuration git pour qu'elle soit sensible à la casse sur les noms de fichiers.
git config core.ignorecase false
Vous pouvez définir cela globalement en modifiant ~/.gitconfig
et en le définissant sous core
tel que:
[core]
ignoreCase = false
Par défaut, Mac OS X est "insensible à la casse mais préservant la casse". Cette distinction est importante.
Je vous suggère de créer une autre image disque et de la formater spécifiquement comme "HFS sensible à la casse".
git mv "Folder" "Folder2"
git mv "Folder2" "folder"
git commit -a -m "my message"
Il y a un fil de discussion récent sur les problèmes de respect de la casse sur le forum de discussion [email protected] intitulé Bug? Git checkout échoue avec un mauvais message d'erreur qui met en évidence les problèmes et les choses à essayer de sensibilité à la casse entre différentes plates-formes.