конец строки git, кажется, приводит к изменению большого количества файлов - PullRequest
0 голосов
/ 08 ноября 2018

Я видел несколько постов на эту тему в git, но пока ни один из них не дал ответа.

У меня возникла следующая проблема. Каждый раз, когда я делаю успешный git fetch/git merge, я вижу множество файлов, перечисленных git, как-то измененных. Некоторые из них неустановлены, в то время как другие не отслежены или незафиксированы.

Итак, хотя я не изменил их, они показываются как-то изменяющимися, когда я делаю git fetch и git merge.

Это проблема, поскольку теперь, если я фиксирую и нажимаю свои изменения, все эти файлы отображаются как измененные мной, что неправильно.

Я использую MacBook для своей разработки, но другие команды разработчиков могут использовать Windows. Итак, в качестве первого виновника я могу подумать об окончании строк. Я проверил на своем Mac и git config core.autocrlf показывает input, который, как я понимаю, должен быть на Mac.

Проверка в Windows показывает git config core.autocrlf как true, что также, на мой взгляд, правильно.

Таким образом, предполагая, что вышеуказанные настройки верны, окончания строк не должны быть проблемой, но я не знаю, как это подтвердить.

Кроме того, я не знаю, как решить эту проблему с файлами, которые я не изменил каким-либо образом, показывают как измененные после того, как я git fetch и git merge без конфликтов.

Итак, мои вопросы

Как подтвердить, что окончания строк являются или не являются причиной этой проблемы?

Как решить эту проблему?

UPDATE

Похоже, что не только текстовые файлы, такие как cs, txt, xml и т. Д., Но и двоичные файлы типа png помечаются как измененные. Итак, вопрос не в окончаниях строк ИМО или?

1 Ответ

0 голосов
/ 08 ноября 2018

Я бы порекомендовал сохранить core.autocrlf в false

git config --global core.autocrlf false

Эти настройки изменили бы eol для всех файлов, включая двоичные файлы, что не очень хорошо.

Тогда с Git 2.16 : git add --renormalize .. Убедитесь, что вы изменили файлы.

...