Устанавливая core.ignorecase=false
, вы неправильно настроили вашу систему, и вам следует установить для нее правильное значение, true
, если вы ожидаете, что Git будет вести себя разумно. Из git-config руководство:
Внутренняя переменная, которая позволяет использовать различные обходные пути, позволяющие Git лучше работать с файловыми системами, не чувствительными к регистру, такими как APFS, HFS +, FAT, NTFS и т. Д. Например, если список каталогов находит «makefile», когда Git ожидает «Makefile» ", Git предположит, что это действительно тот же файл, и продолжит помнить его как" Makefile ".
...
Git полагается на правильную конфигурацию этой переменной для вашей операционной и файловой системы. Изменение этого значения может привести к непредвиденному поведению.
В macOS правильное значение true
, если только вы не отформатировали свой диск или раздел с учетом регистра. Поэтому вы никогда не должны изменять это значение, если значение, выбранное Git, неверно. Например, значение будет неправильным, если вы копируете хранилище из тома без учета регистра в регистр с учетом регистра, поскольку Git не проверяет значение после создания хранилища с помощью git clone
или git init
.
Я не уверен, чего вы ожидали добиться, установив для этой переменной значение false
, но единственное, что на самом деле происходит, это то, что Git не работает правильно.
Обратите внимание, что из моих тестов Git не получит правильные имена веток в нечувствительных к регистру файловых системах, если вы укажете ветки с неправильным регистром. Вы можете назвать это ошибкой в Git, если хотите, но, судя по опыту, получить хорошее поведение в нечувствительных к регистру файловых системах может быть сложно.