История файлов Windows автоматически меняет некоторые имена файлов на прописные

349
Jules

История файлов Windows, похоже, меняет регистр некоторых имен файлов при сохранении.

Кажется, это происходит только для имен файлов с общими словами, таких как Plugin.php, Random.php, Functions.php, ...

Все это не имеет большого значения в среде Windows, потому что Windows игнорирует регистр имен файлов, но все мои сайты размещены на серверах Linux, поэтому код нарушается, потому что все измененные файлы не могут быть найдены.

Любая подсказка, как это исправить? (кроме использования другого решения для резервного копирования)

2
Как вы восстановили свои сайты? AFH 7 лет назад 0
@AFH Просто открыл историю файлов, подключил мой USB-накопитель и нажал зеленую кнопку «Восстановить». Это скопировало файлы в правильном месте. без проблем. (Я не уверен на 100%, если к этому моменту имена файлов уже были изменены ... все еще выясняю это) Jules 7 лет назад 0
Я не могу придумать, каким образом это может произойти, особенно с комбинацией случаев, которая никогда не использовалась ранее: как была сделана резервная копия? Стандартный проводник или копии из командной строки сохраняют регистр, хотя если вы восстановите файл, в котором регистр был изменен, копия не сможет восстановить сохраненный регистр, если вы сначала не удалите. Если все имена файлов должны быть в одном регистре (нижнем или верхнем), это следует восстановить. В противном случае попытайтесь установить, изменилось ли сохранение или восстановление. Если ничего не помогает, вы сможете восстановить свои локальные копии с самих веб-сайтов. AFH 7 лет назад 0
Я только что получил ту же проблему. Сделал мой бэкап с функцией истории файлов. Затем восстановил файлы с помощью функции истории файлов. Никакой ручной копии или чего-нибудь «хакерского». Мои проекты Python и PHP все заблокированы. Надеюсь, они тоже на git-сервере. SJousse 7 лет назад 1
Некоторые файлы в папках .git тоже были переименованы ... SJousse 7 лет назад 0
Какое сопротивление! Этот пост нуждается в большом приоритете. Потратил часы, пока не понял, что восстановление Windows изменило регистр имени файла только на некоторых файлах. Проекты крушения поездов. STWilson 6 лет назад 0

1 ответ на вопрос

1
STWilson

Если вы использовали git, вам повезло с файлами и папками, которых нет в списке игнорируемых git.

Во-первых, установите git с учетом регистра. По умолчанию было установлено значение true, чтобы соответствовать Windows:

git config core.ignorecase false

Проверьте список имен файлов измененных случаев, которые запутала Windows:

git status

Теперь удалите испорченные файлы и папки. Не удаляйте git игнорируемые файлы!

Теперь верните удаленные файлы такими, какими они были до того, как Windows изменила ситуацию:

git checkout .

Еще одна причина, чтобы выйти из Windows.

В моем случае мне также нужно было удалить файлы, которые затем были обнаружены как измененные, а затем запустить `git clean -fd`, чтобы удалить папки с неправильным регистром, за которыми следует` git checkout .`. Steve Chambers 5 лет назад 0