Я разрабатываю проект на OS X Lion, который находится под контролем версий Git. У меня были эти каталоги в нижнем регистре, а затем они были заглавными (например, emailaddresses => EmailAddresses), но Git, похоже, не распознал это изменение. Он все еще думает, что каталоги в нижнем регистре, когда я запускаю git ls-files
и другие команды.
Это безвредно, или мне нужно сделать что-нибудь еще, чтобы Git уловил это изменение?
Ответы:
Вероятно, вы используете HFS + без учета регистра (но с сохранением регистра). Я обычно обхожу это так:
источник
git push origin master
. Если git отказывается обновлять пульт, вам может потребоваться добавить фиктивный файл (напримерtouch stam
) и выполнить push. Затем следует последующее удаление штампа и повторное нажатие.Вы можете указать git принять во внимание случай, запустив
git config core.ignorecase false
источник
Как git mv на Mac с учетом регистра
Это происходит потому, что Mac OS X реализует функции сохранения и нечувствительности к регистру, которые призваны помочь вам.
Хотя предложения о двойном переименовании в другом ответе будут работать, я рекомендую использовать '--force' для достижения наилучшего результата:
Примечание: если вы попробуете без параметра force, git вас заблокирует следующим образом:
В приведенном выше примере команда git не работает, и файлы в файловой системе или в индексе git не изменяются.
источник
fatal: not under version control
.git
команды работают только в каталогах с репозиториями GIT.Попробуйте изменить параметр конфигурации git core.ignorecase на false в файле .gitconfig.
источник
git config core.ignorecase false
Следующие шаги помогли мне решить проблему:
Переименуйте папку в
temp
:Этап и фиксация:
Переименуйте
temp
папку по своему выбору:Готово - теперь можно нажимать.
источник
Если вы сделаете
git mv AAA aaa
илиgit mv -f AAA aaa
, это не будет работать, и у вас будет ошибкаfatal: renaming 'AAA' failed: Invalid argument
.Поскольку
AAA
иaaa
являются ОДНОЙ ОДНОЙ папкой / файлом в файловых системах без учета регистра, переходAAA
кaaa
означает перемещениеAAA
какaaa/AAA
.Итак, вы должны сделать
Надеюсь, это будет вам полезно.
источник
Причина в том, что ОС на базе LINUX или macOS игнорируют чувствительность к регистру для имени файла / папки. Нам необходимо решить эту проблему, выполнив следующие действия.
источник
Ни одно из этих решений не помогло мне. SourceTree всегда создавал мою ветку с другим регистром, чем я хотел. Итак, как я решил это:
1 - Посмотрите свои файлы git в Finder. Вы можете сделать это, набрав это на терминале:
2 - Перезапустите искатель и перейдите в каталог вашего проекта.
3 - Теперь просто измените имя папки, скажем, с функции на функцию. Вот и все.
источник
Вы также можете сделать это вручную без использования команд GIT. Внутри
.git
папки, просто удалите папку с именем , которое вы хотите ИЭSomeName
. Затем переименуйте папкуsomename
вSomeName
. Подробнее: Как исправить имя папки, установленное в верхний регистр, и git convert в нижний регистристочник
У меня была такая же проблема, и я использовал решение ниже. Я использую это для пакетного переименования каталогов, файлов и т. Д .:
Подробно здесь.
источник
Ничего из этого на самом деле мне не помогло, у меня все еще был git сказать мне спрятать мои изменения, потому что моя ситуация заключалась в том, что моя локальная папка была написана с заглавной буквы, а удаленная - нет, а моя ветка была позади, и я больше не мог тянуть из-за различий в капитализации файлов в структуре папок.
Единственный способ исправить это - удалить локальную ветку и проверить удаленный.
источник