Ответ 1
Вероятно, вы используете нечувствительный регистр (но сохраняющий регистр) HFS+. Обычно я работаю над этим так:
$ git mv somename tmpname
$ git mv tmpname SomeName
Я разрабатываю проект по OS X Lion, который находится под управлением Git. У меня были эти строчные каталоги, а затем их заглавные буквы (например, emailaddresses = > EmailAddresses), но Git, похоже, не распознает изменения. Он по-прежнему считает, что каталоги имеют нижний регистр, когда я запускаю git ls-files
и другие команды.
Является ли это безобидным, или мне нужно сделать что-то еще, чтобы получить Git, чтобы забрать это изменение?
Вероятно, вы используете нечувствительный регистр (но сохраняющий регистр) HFS+. Обычно я работаю над этим так:
$ git mv somename tmpname
$ git mv tmpname SomeName
Вы можете сказать git учесть случай, запустив
git config core.ignorecase false
Это происходит из-за того, что Mac OS X реализует функции сохранения случаев и нечувствительности к регистру, которые помогут вам.
Хотя предложения двойного переименования в другом ответе будут работать, я рекомендую использовать "-force" для получения наилучшего результата:
$ git mv --force somename SomeName
Примечание: если вы попробуете без параметра force, git будет выглядеть так:
$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName
В приведенном выше примере команда git завершается с ошибкой и файлы не изменяются в файловой системе или в индексе git.
Попробуйте изменить параметр конфигурации git core.ignorecase на false в файле .gitconfig.
Следующие шаги помогли мне решить проблему:
Переименуйте папку в temp
:
mv Folder temp // It will rename your Folder to temp
Сцена и коммит:
git add .
git commit -m "Temp"
Переименуйте папку temp
на ваш выбор:
mv temp folder // It will rename temp folder to the name of your choice(folder)
git add .
git commit -m "Folder Fixed"
Готово - теперь вы можете нажать.
Ни один из этих решений не работал у меня. SourceTree всегда создавал мою ветку с другим случаем из того, что я хотел. Итак, как я решил это:
1 - Посмотрите на свои файлы git на поисковом устройстве. Вы можете сделать это, набрав это на терминале:
- `defaults write com.apple.finder AppleShowAllFiles TRUE`
- `killall Finder`
2 - Перезапустите поисковик и перейдите в каталог проекта
3 - Теперь просто измените имя своей папки, скажем, от функции к функции. И там вы идете.
Если вы выполните git mv AAA aaa
или git mv -f AAA aaa
, это не сработает, и у вас будет ошибка fatal: renaming 'AAA' failed: Invalid argument
.
Поскольку AAA
и aaa
являются ОДНОЙ ЖЕ папкой/файлом в файловых системах без учета регистра, перемещение AAA
в aaa
означает перемещение AAA
как aaa/AAA
.
Так что вы должны сделать
git mv AAA aaa.1
git mv aaa.1 aaa
Я надеюсь, что это будет полезно для вас.
Вы также можете сделать это вручную без использования команд GIT. Внутри папки .git
просто удалите папку с нужным именем, т.е. SomeName
. Затем переименуйте папку somename
в SomeName
. Подробнее: Как исправить имя папки, установленное в верхний регистр, и git, конвертировать в нижний регистр