Я изменяю заглавные буквы каталога, и Git, кажется, не подхватывает его - PullRequest
95 голосов
/ 01 августа 2011

Я занимаюсь разработкой проекта для OS X Lion, который находится под контролем версий Git. У меня были эти строчные каталоги, а затем они были написаны заглавными буквами (например, emailaddresses => EmailAddresses), но Git, похоже, не распознает это изменение. Он по-прежнему считает, что каталоги строчные, когда я запускаю git ls-files и другие команды.

Это безвредно, или я должен сделать что-то еще, чтобы Git понял это изменение?

Ответы [ 6 ]

168 голосов
/ 14 июля 2015

Вы можете указать git принять во внимание случай, набрав

git config core.ignorecase false

141 голосов
/ 01 августа 2011

Возможно, вы используете HFS + без учета регистра (но с учетом регистра). Я обычно работаю над этим так:

$ git mv somename tmpname
$ git mv tmpname SomeName
30 голосов
/ 05 октября 2013

Как сделать gv на Mac чувствительно к регистру

Это происходит потому, что в Mac OS X реализованы функции сохранения регистра и нечувствительности к регистру, которые призваны помочь вам.

Хотя предложения с двойным переименованием в другом ответе будут работать, я рекомендую использовать '--force' для получения наилучшего результата:

$ git mv --force somename SomeName


Примечание: если вы попробуете без опции force, git сразит вас следующим образом:

$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName

В приведенном выше примере команда git завершается неудачно, и файлы не изменяются ни в файловой системе, ни в индексе git.

18 голосов
/ 01 августа 2011

Попробуйте изменить параметр git config core.ignorecase на false в вашем файле .gitconfig.

1 голос
/ 01 июля 2019

Если вы сделаете 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

Надеюсь, это будет полезно для вас.

0 голосов
/ 01 июня 2017

Ни одно из этих решений не помогло мне. SourceTree всегда создавал мою ветку с тем делом, которое я не хотел. Итак, как я решил это было:

1 - Посмотрите на ваши файлы Git на Finder. Вы можете сделать это, набрав это на терминале:

- `defaults write com.apple.finder AppleShowAllFiles TRUE`
- `killall Finder`

2 - перезапустить искатель и перейти в каталог вашего проекта

3 - Теперь просто измените имя своей папки, скажем, с функции на функцию. И вот, пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...