Conventional Commits
約定式提交
如何定義版本
Semantic Versioning
(SemVer)
語意化版本
WHY
Conventional Commits?
- 自動化生成 CHANGELOG。
- 基於提交的類型,自動決定語義化的版本變更。
- 向同事、公眾與其他利益關系者傳達變化的性質。
觸發構建和部署流程。 - 讓人們探索一個更加結構化的提交歷史,以便降低對你的項目做出貢獻的難度。
what is
Conventional Commits
<type>[optional scope]: <description>
[optional body]
[optional footer]
format:
feat: new Search bar
fix(header): make logo clickable
fix(header): make logo clickable
revise logo link to home page
Close issue #32
example:
type key:
(可以共同約定)
Commit Type | Title | Description |
---|---|---|
feat | Features | A new feature |
fix | Bug Fixes | A bug Fix |
BREAKING CHANGE | BREAKING CHANGE: | |
docs | Documentation | Documentation only changes |
style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf | Performance Improvements | A code change that improves performance |
test | Tests | Adding missing tests or correcting existing tests |
build | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
chore | Chores | Other changes that don't modify src or test files |
revert | Reverts | Reverts a previous commit |
配合自動化程式及gitlab API 即可,自動生成版本文件
或自動產生CHANGELOG
參考網址
Conventional Commits
By jaokuohsuan
Conventional Commits
- 1,305