После проверки файлов git отображаются как измененные

git

224 просмотра

1 ответ

После выполнения git clone <RepoUri>(ничего не показанного как измененное), сопровождаемого git checkout developопределенным хранилищем в OS X (git 2.7.4) после извлечения, некоторые файлы отображаются как измененные.

Даже git reset HEAD --hardне меняет их.

git diff на самом деле показывает изменения в файлах.

Почему это происходит, даже если я не менял файлы? Как я могу изменить эти файлы?

Автор: Alexander Zeitler Источник Размещён: 08.11.2019 11:32

Ответы (1)


1 плюс

Решение

Не видя реального хранилища (или, по крайней мере, его URL, из которого можно извлечь копию), я могу только догадываться. Однако раньше я видел именно эту проблему, особенно в OSX. Вы можете столкнуться с той же проблемой в Windows. Рассматриваемый репозиторий, скорее всего, разработан и поддерживается пользователями Linux.

Сам Git чувствителен к путям и регистру символов (и для содержимого файлов не зависит от кодировки, хотя имена путей должны быть UTF-8). 1 Неважно, если вы называете ваши файлы fooили FOO, или даже, fOoнапример. И Windows и MacOS, однако, по умолчанию к регистру в чувствительных 2 имен файлов.

На практике это означает, что если вы загружаете репозиторий с двумя каталогами data/Polish/(с информацией по стране) и data/polish/(с информацией по чистке обуви), все файлы в одном из них перезаписывают все файлы в другом. Даже одна Makefileпротив makefileпары файлов вызывает проблемы. Все это прекрасно работает в операционных системах с нечувствительными к регистру файловыми системами, или если вы извлекаете хранилище в точке монтирования без учета регистра в OS X, но по умолчанию терпит неудачу.

Возможно, вы сталкивались с таким хранилищем. Тем не менее, в будущем, чтобы получить лучшие ответы, пожалуйста, включите больше деталей в исходный вопрос. (Существует несвязанная проблема, которая возникает с окончаниями строк, особенно в системах Windows, но с меньшей вероятностью это повлияет на вашу систему.)


1 Есть некоторые незначительные исключения в отношении контента, и Git особенно рекомендует кодировать UTF-8 для сообщений фиксации. Путь к файлу должен быть UTF-8, даже если файл в файловой системе использует UCS-2 (Windows), и где есть альтернативы для кодировки UTF-8 символов имени пути, Git должен быть настроен так, чтобы соответствовать предпочтениям ОС, если таковые имеются. Посмотрите Git и проблему Umlaut на Mac OS X для получения дополнительной информации об этом.

- Более конкретно, это регистр сохранения на создании файла, но регистр складывание на поиске файлов. Это трудно понять правильно, и я бы не стал доверять ОС, чтобы открыть файл, например, straßeкогда вы запрашиваете файл STRASSE. Я предпочитаю мои операционные системы, чтобы не пытаться свернуть дело в первую очередь. Как в Windows, так и в OS X используются файловые системы без фреймов, но поскольку оба по умолчанию используют фальцовку, программы случайно зависают в зависимости от этого, и несколько опасно отключать глобальное свертывание. Мне сказали, что MacOS Photoshop сломается, если вы сделаете это, например.

Автор: torek Размещён: 20.08.2016 10:03
Вопросы из категории :
32x32