3 ответов:
можно попробовать:
"git mv -f foo.txt Foo.txt"(Примечание: это больше не требуется с git 2.0.1)- установить
ignorecasefalse в файле config.
но проблема case (например, в Windows) описана в msysgit выпуск 228 (опять же: это должно теперь -- июнь 2014 -- работа с git 2.0.1)
всегда есть возможность установить
ignorecaseзначение false в конфигурационном файле, который заставит Unix, как семантика Git, поверх NTFS.
Git поддерживает это поведение, но это не по умолчанию - с точки зрения NTFSa.txtиA.txtто же самое - поэтому Git пытается сохранить это, как и большинство пользователей ожидали быкак лучший обходной путь, вы можете
git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt, что также изменяет регистр файла, хранящегося на диске.
это сообщение в блоге иллюстрирует ту же проблему на MacOs во время перебазирования:
по умолчанию в файловых системах Mac OS X они нечувствительны к регистру.
FFFFFF.gifэто то же самое, чтоffffff.gif.если вы удалите файл, о котором идет речь, только из файловой системы, а не из индекса Git, имейте в виду, вы можете объединить ветку, о которой идет речь, и восстановить файл, как будто ничего не произошло.
шаги довольно просто:
$ rm file/in/question.gif $ git merge trunk
во всяком случае,помните, что означает git mv:
mv oldname newname git add newname git rm oldname, так что если
newnameиoldnameстолкновение, вы должны сделать их разными (даже если это только на короткий период времени), следовательно,git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
Если вы случайно размещаете на Github, вы можете использовать функцию переименования на своем веб-сайте. Пришлось изменить корпус для 5 файлов и обнаружил, что он работал очень хорошо.
У меня была аналогичная проблема, и я не мог получить новое имя папки (другой случай) для изменения на удаленных репозиториях. Я обнаружил, что самым простым решением было просто переместить файл из РЕПО и совершить. Запуск действия удаления. Затем повторно добавьте, и когда я добавил, он пришел с соответствующим случаем.
Comments