Готовая спецификация фиксации кода

спецификация кода

открытие

В команде есть разные стили отправки кода (git commit), а некоторые люди вообще не имеют понятия о спецификации коммита, поэтому когда мы вернемся, чтобы узнать, в какой версии проблема, будет очень стыдно😅, сложно Быстро локализовать проблему. Спецификация представления кода особенно важна для стандартизации проекта! Ниже приведен плагин спецификации отправки кода, который я сделалvue-cli-plugin-commitlint(модифицированный/обернутый обычный журнал изменений-угловой). Из коробки!

Введение vue-cli-plugin-commitlint

vue-cli-plugin-commitlintОн написан в виде плагина vue и может быть выполненvue add commitlintИспользуйте его напрямую, если это не проект Vue, вы можете настроить его самостоятельно в соответствии со следующей конфигурацией.

комбинироватьcommitizen commitlint conventional-changelog-cli husky conventional-changelog-angular, для упаковки, установки в один клик и готовых спецификаций отправки кода.

Функция

  1. Автоматически определять, является ли фиксация стандартизированной, если она не стандартизирована, ее нельзя отправить
  2. Автоматически запрашивать коммит для заполнения формата. Не бойтесь забыть, как написать спецификацию
  3. Интеграция git add .&& git commit без выполнения двух команд
  4. Автоматически генерировать журнал изменений

настроить

  1. Если вы являетесь проектом vue-cli3, вы можете использовать его напрямую
vue add commitlint
  1. Если вы не являетесь проектом vue-cli3
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
  • добавить в package.json
{
  "scripts": {
    "log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0",
    "cz": "npm run log && git add . && git cz"
  },
  "husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/vue-cli-plugin-commitlint/lib/cz"
    }
  }
}

Добавьте файл commitlint.config.js

module.exports = {
  extends: ['./node_modules/vue-cli-plugin-commitlint/lib/lint']
};

использовать

npm run cz  # git add . && git commit -m 'feat:(xxx): xxx'
npm run log # 生成 CHANGELOG
  1. Отправка кода npm run cz

  1. При выборе типа автоматически запрашивается

    1. (Необязательно) Объем изменений в этом представлении
    2. (обязательно) Напишите краткое описание изменения
    3. (необязательно) Предоставьте более подробное описание изменения
    4. (необязательно) Есть ли несовместимые изменения?
    5. (необязательно) Влияет ли это изменение на некоторые открытые проблемы

демо журнал изменений

правило

каноническое имя описывать
docs Только измененная документация, такая как README, CHANGELOG, CONTRIBUTE и т.д.
chore Измените процесс сборки или добавьте зависимые библиотеки, инструменты и т. д.
feat добавить функцию
fix исправлять ошибки
merge объединить ветвь
perf Связанные с оптимизацией, такие как повышение производительности, опыт
refactor Рефакторинг кода, никаких новых функций или исправлений ошибок
revert откат к предыдущей версии
style Изменяйте только пробелы, форматируйте отступы и т. д., не меняя логику кода.
test Тестовые случаи, включая модульные тесты, интеграционные тесты и т. д.

Суммировать

В настоящее время у меня есть несколько проектов, использующих эту спецификацию, и это не слишком круто!

адрес проекта:GitHub.com/falling snow-Вик Т…

добро пожаловать в пр, звезда