Подтвердить что ты не робот

Как я могу получить Git поистине * игнорировать * окончания строки?

Как я могу сказать Git, чтобы действительно не заботиться о концах строки? Чтобы оставить их как LF или CRLF, как они были первоначально, и проверить их таким же образом?

Я использую репозиторий Git с git -tf для регистрации в репозитории TFS. Остальная часть моей команды использует TFS исключительно.

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

То, что я действительно хочу, для этого конкретного репозитория, состоит в том, чтобы Git делать вид, что изменения конца строки не существуют. Если он LF, оставьте его как LF. Если это CRLF, оставьте это как CRLF.

Какую настройку или комбинацию настроек мне нужно для этого?

4b9b3361

Ответ 1

Для справки в будущем: наиболее стабильный способ реализации этого - использовать файл .gitattributes, который передается в корневом каталоге репозитория git.

Этот файл должен содержать следующее:

# no eol conversions!
* -text

Это означает следующее:

  • [*]: это фильтр файлов и соответствует любому файлу
  • [- текст]: не пытайтесь сделать окончательное преобразование при регистрации и регистрации

Примечание: использование "text = auto" означает: использовать исходный формат конца строки в извлеченном файле (для всего, что выглядит как текст) и хранить его как "LF" внутри.

Это надежный, поскольку все, кто клонирует репозиторий, будут использовать одни и те же настройки. (Это не тот случай, когда используется core.autocrlf.)

См. также Git документация по gitattributes (эффекты: текст).

Ответ 2

возможно вы ищете это

git config --global core.autocrlf false