最近気になってたchore(package): bump version
なGoogleフォーマットとBump version
なベーシックフォーマットのまとめ。
Googleフォーマット
chore(package): bump version
Angular.jsなど主にJavaScriptのメジャーリポジトリで人気のフォーマット。
azuが概要をまとめているのでこれを引用する。
feat(ngInclude): add template url parameter to events The `src` (i.e. the url of the template to load) is now provided to the `$includeContentRequested`, `$includeContentLoaded` and `$includeContentError` events. Closes #8453 Closes #8454
scope commit title commit type / / \ | | feat(ngInclude): add template url parameter to events body -> The 'src` (i.e. the url of the template to load) is now provided to the `$includeContentRequested`, `$includeContentLoaded` and `$includeContentError` events. referenced -> Closes #8453 issues Closes #8454
Karmaにキーワードの一覧などがまとまっている。
<type>(<scope>): <subject> <body> <footer>
Allowed
<type>
values:
- feat (new feature for the user, not a new feature for build script)
- fix (bug fix for the user, not a fix to a build script)
- docs (changes to the documentation)
- style (formatting, missing semi colons, etc; no production code change)
- refactor (refactoring production code, eg. renaming a variable)
- test (adding missing tests, refactoring tests; no production code change)
- chore (updating grunt tasks etc; no production code change)
Example
<scope>
values:
- init
- runner
- watcher
- config
- web-server
- proxy
- etc.
The
<scope>
can be empty (eg. if the change is a global or difficult to assign to a single component), in which case the parentheses are omitted. In smaller projects such as Karma plugins, the<scope>
is empty.
あらかじめコミットメッセージ(タイトル)に使用するキーワードが絞り込まれててタイトルに悩まず手早くコミットしていけるのがよい。 スコープの絞り込みも便利。
コミットログからチェンジログを生成するconventional-changelogをあわせて使うとさらに強力。
https://github.com/ajoslin/conventional-changelog/blob/master/conventions/angular.mdgithub.com
ベーシックフォーマット(Gitフォーマット)
Bump version
本家本元Gitの由緒正しいフォーマット。
フォーマットのルールがまとまったよい翻訳記事があるのでこれを引用する。
- タイトルの後は1行空けて本文を書く
- タイトルを50字以内におさめる
- タイトルの文頭を大文字にする
- タイトルの文末にピリオドを付けない
- タイトルは命令形で記述する
- 本文は1行あたり72字以内におさめる
- 本文ではどのようにではなく何をとなぜを説明する
ルールのいくつかはGoogleフォーマットにも当てはまる基礎基本。
自分が使っているフォーマット
chore: bump version
しばらく使ってみたところ変更のスコープは一意に特定することも一貫させることも困難であり公式のリポジトリでも省略することが多い。 このため基本的に定型部分は操作種別の分類・表明によりコミットの意図と影響範囲を明確にするのみにとどめ、具体的なスコープの絞り込みは行わないものとした。 ただしプロダクトが独立的な機能の集合である場合はコミットの文脈情報が不足するためその機能をスコープとして明示する。
なおバージョンアップのコミットメッセージは本稿の例ではバージョンナンバーを記述しないものを使用しているが、自分はLinuxとGitのリポジトリにならって明記している。