Ответ 1
Простой git commit -m "сообщение" без параметра пути к файлу помогло. Он обновил индекс, который, как я думаю, или, по крайней мере, наконец, смог распознать abc, должен быть обновлен до ABC.. Спасибо всем..
Я случайно использовал mv для переименования файла, который находился под git. Я переименовал файл от нижнего регистра до верхнего регистра, сохраняя его имя.
mv abc.java ABC.java
Я также внес изменения и передал файл после этого.
Как сделать фактическое переименование git этого файла? git bash, похоже, не понимает разницу между ABC.java и abc.java.
Я не уверен, что изменилось на master (другими), но после перехода к ветке я больше не могу зафиксировать свои изменения в файле. Он говорит, что старый индекс файла все еще существует.
$git commit -m "переименован в верхний регистр" ABC.java фатальный: не будет добавлять псевдоним файла 'dir1/ABC.java' ('dir1/abc.java' уже существует в индексе)
Когда я выполняю git статус, он показывает переименованные файлы, но не позволяет мне переименовывать файлы. Если я попытаюсь удалить abc.java(который на самом деле не присутствует хотя бы локально), снова (я думаю, из-за нечувствительности к регистру) git удаляет новый.
Если я клонирую новое репо из этого, репо все еще вытаскивает файлы со старым именем (abc.java), но все мои изменения до тех пор, пока в нем не появятся последние неудачные.
Простой git commit -m "сообщение" без параметра пути к файлу помогло. Он обновил индекс, который, как я думаю, или, по крайней мере, наконец, смог распознать abc, должен быть обновлен до ABC.. Спасибо всем..
Вы можете сделать:
$ git mv {abc,ABC}.java
Если вы хотите узнать, в какой фиксации вы вносили изменения в abc.java, вы можете использовать:
git log --follow abc.java
в результатах, вы можете найти фиксацию, в которой вы ее переименовали.
Чтобы восстановить исходное имя файла, вы можете использовать git reset
с флагом --soft
, который будет отключать ваши изменения, не отбрасывая их, позволяя вам выполнить исправление и передать их снова.
Я рекомендую вам прочитать следующие ссылки на git reset, чтобы получить хорошее представление об этом, прежде чем пытаться сделать что-то опасное.
Переименование имени папки в folderName на файловых системах без регистра.
Простое переименование с помощью обычной команды mv (не git mv) не будет распознано как изменение файла из git. Если вы попробуете его с помощью команды git mv, как в следующей строке
git mv foldername folderName
Если вы используете файловую систему, не учитывающую регистр, например. youre на Mac, и вы не настроили его на чувствительность к регистру, вы получите сообщение об ошибке, подобное этому:
fatal: переименовать 'имя папки не удалось: недопустимый аргумент
И вот что вы можете сделать, чтобы заставить его работать: -
git mv foldername tempname && git mv tempname folderName
Это разделяет процесс переименования, сначала переименовывая папку в совершенно другое имя папки. После переименования его в другое имя папки папка может быть, наконец, переименована в новую папкуName. После этих git mvs, не забудьте добавить и зафиксировать изменения. Хотя это, вероятно, не красивая техника, она отлично работает. Файловая система по-прежнему не распознает изменения букв, но git делает это переименованием в новое имя папки, и это все, что мы хотели:)