Изменение папки с папкой через Git bash в Windows
Мне нужно изменить случай папок и файлов. Первое, что я попробовал, - переименование папок, но Git не получил изменений. Поэтому я попытался использовать git mv -f controller Controller
, но он говорит:
fatal: renaming 'application/classes/controller failed: Permission denied
Я попытался установить глобальный флаг ignorecase:
git config --global core.ignorecase false
Но это все еще не работает. Некоторые люди предложили переместить папку из репо, удалить, а затем повторно добавить, но будет ли это изменение забираться, когда другие люди вытаскивают репо? Могу ли я попробовать что-нибудь еще?
Изменить: он работает с файлами, но не с папками.
Ответы
Ответ 1
Вкратце комментариев, вам придется переименовать каталог через промежуточное временное имя. Например.
git mv controller Controller-tmp
git mv Controller-tmp Controller
Я думаю, что это связано с тем, что реализация MinGW rename(2)
не поддерживает эту операцию. См. Этот поток, документы MSDN в реализации CRT rename
и теги MoveFileEx
.
Ответ 2
Обязательно добавьте изменения в индекс после переименования папки с промежуточной папкой, как показано ниже.
git mv oldfolder newfolder
git add -u newfolder
git commit -m "changed the foldername whaddup"
Ссылка