управление филиалом
как показано на рисунке:
Ветка master используется только для хранения онлайн-версий.
Аварийная онлайн-ошибка, используйте ветку исправления
Небольшие тестовые ошибки, разработанные в ветке dev, также могут быть изменены в ветке dev. Экстренные онлайн-исправления ошибок также должны быть объединены в ветку разработки.
Разрабатывайте сложные новые функции с новыми ветвямиdev-${devName}
Спецификация сообщения Git Commit
Использование формата сообщения фиксации Angular.
формат сообщения фиксации
Каждое сообщение фиксации включает заголовок, тело и нижний колонтитул, каждый из которых занимает одну строку, и каждая строка не превышает 100 символов. Заголовок состоит из типа, объема и темы.заголовок должен быть написан, область заголовка не является обязательной.
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Revert
Если коммит используется для отзыва предыдущего коммита, он должен начинаться с revert:, а затем писать заголовок отозванного коммита. Чтобы написать в теле: this reverts commit . , hash — это хеш-значение отозванного коммита. Этот формат также может бытьgit revert
Команда генерируется автоматически.
Type
Должен быть одним из следующих:
- подвиг: новая функция (особенность)
- исправить: исправить ошибки
- docs: модификация документации
- стиль: Модификации, не влияющие на смысл кода (например, пробелы, форматирование и т. д.)
- рефакторинг: рефакторинг (то есть не новая функция и не изменение кода, исправляющее ошибку)
- Perf: модификация для повышения производительности
- тест: добавить или изменить тесты
- рутинная работа: изменение процесса сборки или вспомогательных инструментов
Scope
Область действия используется для описания области изменения фиксации, такой как уровень данных, уровень управления, уровень представления, маршрут, компонент, утилиты, сборка и т. д. Если модификация затрагивает несколько мест, используйте «*».
Subject
Тема представляет собой краткое описание модификации:
- Используйте повелительное наклонение, простое настоящее время.
- первая буква строчная
- Не используйте конец периода предложения
Body
Используйте повелительное наклонение, простое настоящее время. Кроме того, в теле нужно указать причину модификации и отличие от предыдущей версии.
Footer
Любая информация о критических изменениях или закрытии вопросов может быть записана в нижнем колонтитуле.
Критические изменения нужно начинать сBREAKING CHANGE:
начало.
Ниже приведены мои 2 записи представления:
commit 9fb447d73c637cfa128b57a84d95dc72bb14412b (HEAD -> master)
Author: zhongjx <amy_zhjx@163.com>
Date: Wed Dec 26 18:22:53 2018 +0800
refactor(*): 使用prettier格式化代码
使用eslint+prettier取代之前的eslint+airbnb规范
commit a4a5e9259d5dd4f5f4d3d16fea3392df2a877ee1 (origin/master)
Author: zhongjx <amy_zhjx@163.com>
Date: Tue Nov 20 09:49:27 2018 +0800
chore: 添加commit msg格式要求
Другие примеры можно посмотретьangular.js фиксирует
Настроить и использовать в webpack
Установить
npm i --save-dev @commitlint/cli @commitlint/config-conventional husky
husky может предотвратить коммиты git, которые не соответствуют требованиям, git push или другие команды не могут быть выполнены. Настроив следующим образом:
{
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
}
Каждый раз, когда он отправляется, он проверяет, соответствует ли указанный метод сообщения фиксации.
standard version
Стандартная версия — это пакет npm, который автоматически генерирует версии и CHANGELOG.md.
Установить
Установите зависимости:
npm i --save-dev standard-version
Добавьте скрипт запуска в Package.json:
{
"scripts": {
"release": "standard-version"
}
}
воплощать в жизньnpm run release
CHANGELOG.md будет сгенерирован автоматически, создайте запись фиксации и пометьте новый выпуск.
Первый выпуск
просто беги
npm run release -- --first-release
// 或者
standard-version --first-release
Это создает тег выпуска, но не изменяет версию в package.json.
Выпущен предварительный релиз
Используйте --prerelease для создания пререлиза: Предположим, что текущая версия — 1.0.0, а код, который нужно зафиксировать, — это пропатченная модификация. бегать:
npm run release -- --prerelease
сгенерирует номер версии 1.0.1-0.
Если вы хотите указать имя предварительной версии, вы можете передать--rerelease <name>
.
Например:
npm run release -- --prerelease alpha
Этот тег будет 1.0.1-alpha.0
Опубликовать указанный тип
Используйте --release-as плюс параметр major или minor или patch, чтобы отменить автоматическую генерацию номера версии. Предполагая, что текущая версия 1.0.0.
// npm run script
npm run release -- --release-as minor
// Or
npm run release -- --release-as 1.1.0
будет генерировать номер версии 1.1.0 вместо автоматически сгенерированного номера версии 1.0.1