Список измененных файлов Git, исключая изменения окончаний строк

#windows #git #phpstorm #line-endings

#Windows #git #phpstorm #окончания строк

Вопрос:

Я использую PhpStorm в Windows. Я извлек исходные тексты для проекта с сервера Linux. Некоторые из этих файлов могут иметь изменения по сравнению с файлами в репозитории. Это означает, что кто-то, возможно, изменил файлы непосредственно на сервере и проверил эти изменения в репозитории.

PhpStorm показывает 4000 файлов как измененные, и, похоже, большинство из них связано с разными окончаниями строк. Изменение окончания строки во всех файлах на LF или CRLF не является решением. В любом случае, многие файлы помечены как измененные.

Как я могу найти все файлы, в которых действительно есть изменения кода? Файлы, в которых изменилось только окончание строки, не должны включаться.

Комментарии:

1. Не проблема PhpStorm. Это стандартное поведение Git.

2. Может быть полезно, 1. Найдите все файлы с CRLF в репозитории, 2. Проверьте, есть ли в них изменения Git, 3. если они есть, преобразуйте CRLF в LF: find . -not -type d -exec file "{}" ";" | grep CRLF | cut -d: -f1 | while read l; do echo -n $l": " ; if ! git diff --exit-code "$l" > /dev/null ; then dos2unix $l; fi; done

Ответ №1:

Попробуйте git diff —ignore-space-at-eol