Рубрики
Без рубрики

Обычные сообщения о коммит GIT и личинка

VSCODE LINTING для обеспечения соблюдения обычного сообщения Commit. Tagged с JavaScript, Linting, WebDev, VSCODE.

Вы хотите следить за обычными коммитами и хотите обеспечить соблюдение правила, такое Что ваша команда также следует за этим? В этой статье вы узнаете, как обеспечить соблюдение Традиционные комментарии Правило до совершения вашего Угловой или Nrwl. Nx monorepo код в GitHub. Теперь дни все библиотеки с открытым исходным кодом, такие как платформа NGRX Они начали следовать точным правилам о том, как должны быть сообщения GIT COMMEST отформатировано. Это приводит к более читаемые сообщения которые легко следовать При просмотре истории проекта.

Что такое обычный коммит?

Обычные коммиты Спецификация – это легкое соглашение поверх сообщений о коммите. Это обеспечивает легкий набор правил создания явной истории коммита; что делает это Легче писать автоматизированные инструменты поверх. Эта конвенция согласуется с Semver (Семантическое управление версией), описывая функции, Исправляет и нарушают изменения в сообщениях о коммите.

Почему обычный коммит?

Мы будем использовать обычную спецификацию Commits. Так что это облегчит писать автоматизированные инструменты. Пример, если вы следите

  • Удар версии Package.json Файл на основе формата сообщений.
  • Вы можете автоматически генерировать изменение изменений.

Если вы убеждены, продолжите читать, чтобы настроить это правило в своем угловом или любой Node.js проект.

Примеры обычного формата сообщений

Сообщение о приобретении с областью и без тела Docs (readme): правильное написание пакета

Сообщение Commit с объемом, описанием и разбитым нижним колонтитулом изменений

feat(logger): need to depend on websocket library
BREAKING CHANGE: the api parameters changed

Узнайте Подробнее здесь Анкет

Обычный формат сообщения о коммите

Мы будем использовать обычный коммит для обеспечения соблюдения дисциплина.

Сообщение о коммите должно быть структурировано следующим образом:

(): 



Заголовок обязательно и Область заголовка является необязательным. Любой Строка сообщения Commit не может быть длиннее 120 символов! Это позволяет Сообщение было легче читать на GitHub, а также в различных инструментах GIT.

Обычный тип коммита

Тип должен быть одним из следующих действий:

  • сборка : Изменения, которые влияют на систему сборки или внешние зависимости (пример применения: WebPack, Karma, NPM)
  • CI : Изменения в наших файлах и сценариях конфигурации CI (пример Scopes: Azurevops.yaml, Travis, Circle, Browserstack, Saucelabs)
  • док : Документация только изменяется
  • feat : Новая функция
  • исправить : Исправление ошибки
  • Perf : Изменение кода, которое повышает производительность
  • Рефактор : Код изменяет, что Ни исправляет ошибку, ни добавляет функцию
  • стиль : Изменения, которые не влияют на значение кода (белое пространство, форматирование, отсутствующие полуколоны и т. Д.)
  • тест : Добавление отсутствующих тестов или исправление существующих тестов

Обычный коммит

Область должна быть названием npm Затронут пакет (как воспринимается человеком , читающего изменение изменяемого отмены из сообщений о коммите. Пример, если у вас есть Проект, в котором у вас есть публикуемые библиотеки и приложения. Тогда вы можете использовать Их названия их проектов.

Приложения: администратор, клиент, панель инструментов: регистратор, макет, обмен сообщениями

Ниже приведен список поддерживаемых областей:

  • администратор
  • клиент
  • панель приборов
  • регистратор
  • макет
  • обмен сообщениями

Обычный предмет коммита

Субъект содержит краткое описание изменения, и вот несколько советов для текста предмета:

  • Используйте императивное, настоящее время: «Изменение», а не «изменилось», ни «изменения»
  • Не используйте первую букву
  • Нет точки (.) В конце

Обычный орган коммита

Как и в предмете, используйте императивное, настоящее время: «Изменение» не «изменилось» и не «изменения». Тело должно включать мотивацию для изменения и контрастировать с предыдущим поведением.

Обычный нижний колонтитул

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

Разрывные изменения должны начинаться со слова Нарушение изменения: `с пространством или две новшество. Остальная часть сообщения Commit затем используется для этого.

Пример:

`Shell Feat (Scope): Сообщение о коммите

Нарушение изменений:

Опишите здесь нарушающие изменения

ДО:

Предыдущий пример кода здесь

ПОСЛЕ:

Пример нового кода здесь `

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

Узел Commitlint

Мы будем использовать Узел Commitlint Package для обеспечения соблюдения ограничений для формата сообщений коммита.

Мы также будем использовать Хаски запустить правила ливни перед совершением.

Запустите ниже скрипт для установки Commitlint & Husky.

ракушка npm i -d husky @commitlint/cli @commitlint/config -conventional

Добавление правил в package.json

json “Commitlint”: { «Распространение»: [ “./node_modules/@commitlint/config-conventional” ], “правила”: { «Объект»: [[ 0 ], “Заголовок-макс длины”: [ 0, “всегда”, 120 ] } }, “Хаски”: { “Крюки”: { “Commit-MSG”: “Commitlint -e husky_git_params” } },

Здесь произойдет то, что каждый раз, когда предпринимается коммит, он будет выпускать на основе обычных правил сообщений коммита. Разработчик получит ошибку, если они отклонятся. Это больно начать, но через некоторое время это становится второй натурой!

Тестирование обычных правил совершения

Добавить комментарий Добавление правил коммита и попытаться совершить

Обратите внимание, что вы видите ошибку.

Ошибка совершения

Давайте исправим наш комментарий в соответствии с обычным правилом совершения. Измените комментарий, как ниже и совершите

строить: Добавлен новый сценарий для линирования

Теперь вы должны иметь возможность совершить свой код.

Обратите внимание, что мы можем успешно совершить и подтолкнуть наш код.

Вывод

Теперь вы узнаете, как вы можете использовать традиционные коммиты и обеспечить соблюдение этого правила в своем проекте. В моей следующей статье я объясню, как вы можете применить некоторую автоматизацию в этом проекте. Как автоматическая версии Package.json. Так что следите за обновлениями.

Станьте разработчиком полного стека 💻

Если вы хотите стать разработчиком полного стека и увеличить свой носитель в качестве нового разработчика программного обеспечения или ведущего разработчика/архитектора. Рассмотрим подписку на наши полные программы обучения разработке стека. У нас есть планы на ежемесячные членства в целом, и вы получите неограниченный доступ ко всем нашим видео курсам, слайдам, исходному коду и ежемесячным видеопрограммам.

  • Пожалуйста, подпишитесь на All-Access Choinship Pro Plan Чтобы получить доступ к текущим и будущим угловым, node.js и смежным курсам.
  • Пожалуйста, подпишитесь на Элитный план всех доступа Чтобы получить все от профессионального плана. Кроме того, вы получите доступ к ежемесячным видеопрограммам в прямом эфире с Rupesh, и вы можете задать сомнения/вопросы и получить больше помощи, советов и приемов.

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

💖 Скажи мне!

Рупеш Тивари www.rupeshtiwari.com ✉ Электронная почта Rupesh Основатель Fullstack Master

Оригинал: “https://dev.to/rupeshtiwari/conventional-git-commit-messages-and-linting-3gb7”