Я борюсь с git и игнорирую окончания строк. Об этом уже миллион раз спрашивали на SO, но я до сих пор не могу понять это для моего варианта использования. Поэтому почти стыдно спрашивать ... вот так.
Справочная информация: я использую IDE PhpStorm для выполнения большинства операций git. В основе PhpStorm лежит git для выполнения реальных операций.
Проблема, с которой я сталкиваюсь, заключается в том, что в PhpStorm у меня есть вспомогательный скрипт, который вставляет / обновляет комментарии PhpDo c в существующие файлы. Этот сценарий использует LF в качестве окончания строки (не настраивается), а моя IDE по умолчанию использует CRLF, потому что я на Windows. Я знаю, что мог бы установить в своей среде IDE использование LF и преобразовать весь проект в LF. Но это похоже на последнее средство.
Так что после того, как скрипт обновил PhpDo c и заменил CRLF на LF, эти файлы отображаются при запуске git status
, и я не хочу этого. Git следует игнорировать файлы, которые (частично) имеют разные окончания строк. Причина, по которой я хочу git status
игнорировать это, заключается в том, что PhpStorm, похоже, полагается на это для обнаружения измененных файлов и проверки этих файлов по умолчанию для фиксации. Это очень много времени, чтобы вручную go просмотреть эти файлы один за другим, чтобы PhpStorm сказал мне, что «Эти файлы идентичны» (за исключением окончаний строк)
Я пробовал это руководство , пробовал всевозможные варианты с настройкой core.autocrlf
, и я попробовал десятки решений для SO, но я все еще не нашел решение.
Попытка всех этих решений научила меня нескольким вещам о git, поэтому, если вы понимаете git, настройка core.autocrlf=true
не имеет значения в этом случае, потому что это преобразовывает CRLF в LF при фиксации, но моя цель - исключить их из git status
. Я играл с git diff --ignore-cr-at-eol
, и это больше не показывает различия, но статус git все еще показывает.