Я не совсем уверен, что здесь происходит, но иногда конкретный файл в моем репозитории меняет регистр своего имени. например,:
перед: File.h
после: file.h
Мне все равно, почему это происходит, но это заставляет git думать, что это новый файл, а затем мне нужно вернуться и изменить имя файла. Можете ли вы просто заставить git игнорировать изменения регистра?
[править] Я подозреваю, что Visual Studio делает что-то странное с этим конкретным файлом, потому что это чаще всего случается, когда я открываю и сохраняю его после изменений. Однако у меня нет способа исправить ошибки в VS, но я надеюсь, что git должен быть немного более функциональным.
Ответы:
Начиная с версии 1.5.6 есть
ignorecase
опция, доступная в[core]
разделе.git/config
например добавить
ignorecase = true
Чтобы изменить его только для одного репо, из этой папки запустите:
Чтобы изменить его глобально:
источник
ignorecase = false
сделали свое дело, по умолчанию было выбраноtrue
-_-Вы можете заставить git переименовать файл только для регистра с помощью этой команды:
Обратите внимание, что это не меняет регистр файла в вашей извлеченной копии в разделе Windows, но git записывает изменение регистра, и вы можете зафиксировать это изменение. В будущих кассах будет использоваться новый корпус.
источник
В git версии 1.6.1.9 для Windows я обнаружил, что "ignorecase = true" в конфигурации уже был установлен по умолчанию.
источник
Ситуация, описанная в вопросе, теперь повторяется с Mac OS X, git version> = 1.7.4 (я думаю). Лекарство состоит в том, чтобы вручную установить ignorecase = false и переименовать файлы в нижнем регистре (которые изменились таким образом git, а не Visual Studio) обратно в их UsualCase (т.е. 'mv myname MyName').
Больше информации здесь .
источник