web-standards-ru / new

Новый сайт «Веб-стандартов»
https://new.web-standards.ru/
39 stars 17 forks source link

Проблема с редактированием по правилам проекта #110

Closed NiyazGaripov closed 5 years ago

NiyazGaripov commented 5 years ago

Перед началом работы ознакомился с https://github.com/JediKnightIT/new/blob/master/CONTRIBUTING.md

Все необходимые инструменты (EditorConfig, Prettier, ESLint) установлены.

image

image

  1. Форкнул репозиторий;
  2. Склонировал свой форк локально;
  3. Установил зависимости.

По окончании установки зависимостей git status показал, что в рабочем каталоге были модифицированы 2 файла (package.json и package-lock.json)

image

Посмотрел изменения файлов в рабочем каталоге. git diff package-lock.json показал следующее

image

git diff package.json показал следующее

image

У данных файлов окончания строк стали LF. Посмотрел остальные файлы в рабочем каталоге и у них окончания строк оказались CRLF

image

В файле .editorconfig прописана конфигурация окончания строк end_of_line = lf Но EditorConfig не подцепился и не настроил редактирование по правилам проекта.

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

Работаю на операционной системе Windows 10. Среда разработки VSCode.

P.S. возможно я что-то не правильно сделал, прошу не судить строго)

pepelsbey commented 5 years ago

Заинлайнил картинки: если скопировать картинку в буфер обмена, а потом вставить — картинка загрузится.

NiyazGaripov commented 5 years ago

Понял, спасибо Вадим.

NiyazGaripov commented 5 years ago

Возможно стоит создать файл .gitattributes и явно прописать в нём * text eol=lf Тем самым отключив преобразование строк при чтении из репозитория.

Т.е. при таких настройках не только внутри git, но и в рабочей директории у всех разработчиков, включая тех у которых стоит windows, будут одинаковые переводы строк -> LF

pepelsbey commented 5 years ago

Сделаете пулреквест? Если вам этот конфиг помогает, то поможет и другим.

NiyazGaripov commented 5 years ago

Попробовал реализовать это у себя. К сожалению данный конфиг подействовал только на 3 файла. Сам файл .gitattributes, package.json и package-lock.json. Продолжаю поиски решения.

FFxSquall commented 5 years ago

@JediKnightIT У меня в одном из проектов .gitattributs с таким содержанием

*.vue   text eol=lf
*.js    text eol=lf
*.json  text eol=lf
*.md    text eol=lf
*.txt   text eol=lf

Все прекрасно работает на windows 10

NiyazGaripov commented 5 years ago

@FFxSquall Прописал в .gitattributs следующий конфиг image

Начал просматривать файлы. Как и писал выше подействовало только на 3 файла image

image

image

У остальных файлов окончание строк осталось CRLF image image

При этом у файлов с расширением .js выводит следующее image image

По идее переводы строк у всех файлов должны были преобразоваться в LF, но к сожалению этого не произошло.

Возможно я что-то не так делаю?

FFxSquall commented 5 years ago

@JediKnightIT Ты не правильно понимаешь принцип действия .gitattributs. Он срабатывает при клонировании репозитория, если его нет берется настройка из git (core.eol по умолчанию native). Для windows native = CRLF. Можно глобально в git на windows задать, что бы окончания строк было в LF. Но так как многие этого не делают, в репозиторий сразу кладут .gitattributs с настройками. Тут подробнее, простой способ избавится от этого эффекта.

UPD. Точнее по ссылке решение, автоматического изменения конца строк. То есть на windows будет CRLF, но при коммите будет автоматом переделывать в LF

NiyazGaripov commented 5 years ago

@FFxSquall , да я не до конца понимаю принцип действия .gitattributs. Но параметр конфигурации core.autocrlf у меня со значением true. Т.е. нормализация включена image

image

Мне об этом наставник рассказал ещё на интенсиве HTML и CSS, уровень 1 + Кантор это подробно изложил в скринкасте про Git. Вот я и не понимаю из-за чего не происходит нормализации. За ссылку спасибо!) Ещё раз изучу, возможно что-то упустил.