Git n'est pas sensible à la casse?
dans le premier engagement de mon partiel appelé _Electronics
il a été écrit en commençant par une majuscule, puis je l'ai changé en _electronics
.
Git sous cygwin ignoré le cas après la validation d'un nom nouveau, j'ai donc changé le nom de la main à la cible des pensions.
Maintenant, il modifie parfois la engagés _electronics
partielle _Electronics
.
Qu'ai-je fait de mal?
4 réponses
il sera considéré comme 2 choses différentes, mais vous causera des problèmes sur un système non sensible à la casse. Si c'est le cas, assurez-vous que vous remplissez tous les chemins ou noms de fichier. En outre, pour changer le nom de quelque chose dans juste le cas, faites ceci:
mv file.txt temp.txt
git add -A
git commit -m "renaming..."
mv temp.txt File.txt
git add -A
git commit --amend -m "Renamed file.txt to File.txt"
c'est une façon explicite de faire des changements en les commettant, puis en les faisant s'effondrer. Une façon plus courte de le faire est de manipuler l'index et le dossier de travail tout en un:
git mv file.txt temp.txt
git mv temp.txt File.txt
git commit -m "Renamed file.txt to File.txt"
ceci est lié à l'ajustement des noms de répertoire aussi bien: git mv et seulement le cas de changement de répertoire
cela va dépendre de la valeur de configuration core.ignorecase
, qui est définie à false dans les systèmes de fichiers sensibles à la casse et true dans msysgit sur Windows.
de base.ignorécase
si elle est vraie, cette option permet différentes solutions de rechange pour permettre à git de mieux fonctionner sur des systèmes de fichiers qui ne sont pas sensibles à la casse, comme FAT. Pour exemple, si une liste de répertoires trouve "makefile" alors que git attend "Makefile", git va supposer qu'il est vraiment le même fichier, et de continuer pour s'en souvenir comme "Makefile".
La valeur par défaut est false, sauf git-clone(1) ou git-init(1) de la sonde et de l'ensemble de base.ignorecase vrai si approprié lorsque le référentiel est créé.
C'est beaucoup plus facile:
git mv Electronics electronics -f
git commit -m "That was easy!"