Вы находитесь в нечувствительной к регистру среде. Более того, добавление без -A
не позаботится об удалении стороны mv
, как это понимает Git. Внимание! Убедитесь, что никаких других изменений или неотслеживаемых файлов нет, когда вы это сделаете, иначе они будут зафиксированы как часть этого изменения! git stash -u
сначала сделайте это, а затем git stash pop
после. Продолжение: Чтобы обойти это, сделайте следующее:
mv foo foo2
git add -A
git commit -m "renaming"
mv foo2 FOO
git add -A
git commit --amend -m "renamed foo to FOO"
Это затянувшийся способ изменения рабочего каталога, фиксации, а затем свертывания двух коммитов. Вы можете просто переместить файл в индексе, но для кого-то, кто новичок в git, это может быть недостаточно ясно, что происходит. Короче версия
git mv foo foo2
git mv foo2 FOO
git commit -m "changed case of dir"
Как предлагается в одном из комментариев, вы также можете сделать интерактивную перебазировку (git rebase -i HEAD~5
, если неправильный случай был введен 5 коммитов назад), чтобы исправить случай там и избежать появления неправильного случая вообще где-либо в истории. , Вам следует быть осторожным, если вы сделаете это, поскольку хэши коммитов с этого момента будут другими, а другим придется перебазировать или заново объединить свою работу с недавним прошлым ветви.
Это связано с исправлением имени файла: Разве git не чувствителен к регистру?