Статус Git показывает файл дважды, но в другом регистре

Я попытался найти свою проблему, и самое близкое, что я мог сделать, это вот что.

git Status показывает один и тот же файл дважды - но с разными стилями косой черты

Но, похоже, это не та же проблема, что и у меня.

Я делал коммит и заметил, что один и тот же файл был указан дважды, но с разным регистром. Например, Directory/resource.h и Directory/Resource.h. Теперь в каталоге resource.h находится только один файл. Если я смотрю файл через Git Extensions, они выглядят точно так же. Кажется, нет другого скрытого файла, есть только один файл.

Поэтому я попытался исправить это, удалив resource.h файл, зафиксировав, а затем снова добавив файл и повторно приняв его. Только один файл появился как добавленный. Я думал, что решил проблему, но теперь, если я пытаюсь проверить другую ветку, я получаю следующую ошибку.

error: The following untracked working tree files would be overwritten by checkout:
    Directory/Resource.h
Please move or remove them before you can switch branches.
Aborting
Done

Я действительно понятия не имею, что делать дальше, я использую Git всего несколько месяцев, и мне не приходилось делать ничего более сложного, чем слияние ветвей, нажатие и вытягивание.


person Graydon Svendson    schedule 20.11.2012    source источник


Ответы (1)


Это может произойти в Windows, если у вас есть репо с ignorecase = false и вы переименовываете файл без использования git. Чтобы исправить, это должно сработать

git mv -f Resource.h resource.h
git commit -m 'fix case'

и это должно предотвратить повторение этого.

git config core.ignorecase true
person Community    schedule 24.12.2012