conventional-changelogでGitのログを出力し、リリース時の変更点を確認しよう

conventional-changelogでGitのログを出力し、リリース時の変更点を確認しよう

いなば

いなば

コミットメッセージのフォーマット

conventional-changelogはAngularJSのGit Commit Guidelinesに準拠しています。

ログを出力するためのコミットメッセージのフォーマットは以下になります。

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

typeはそのコミットが新規実装なのかバグフィックスなのか、などを判別するためのラベルになります。
typeには以下のいずれかを指定します。

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug or adds a feature
  • perf: A code change that improves performance
  • test: Adding missing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

scopeには修正した対象がわかるように記述します。
例えばAngularJSのリポジトリを例に見ると、scopeにはモジュール名が入ることが多いようです。

feat($cookies): allow passing cookie options

The `put`, `putObject` and `remove` methods now take an options parameter
where you can provide additional options for the cookie value, such as `expires`,
`path`, `domain` and `secure`.

Closes #8324
Closes #3988
Closes #1786
Closes #950

メッセージの書き方については他にも決まりごとがあるので、詳しくはこちらを見てください。

conventional-changelogでログを生成する

今回はchangelogのチュートリアルなので試しに適当にコミットしていき、最後にtagを打ちます。このタグの位置が、次回logを出力する起点にもなります。

$ git tag 20150528

 

最後に先ほど作成したchangelog.jsと同じ階層に移動して、コマンドを実行してみましょう。同じ階層にマークダウンが出力されているでしょうか?

$ node changelog.js

私の手元では以下のようなマークダウンを生成することができました。

<a name“1.0.0“></a>
## 1.0.0 (2015-05-28)


#### Bug Fixes

* **restangular-sample:** headタグの閉じる位置を修正 ([e14d4abd](https://github.com/i78s/ligblog-sample/commit/e14d4abd))

 

いかがでしたでしょうか?
コミットメッセージのフォーマットを覚えるまで少し面倒かもしれませんが、フォーマットだけ気をつければ変更点を箇条書きで列挙することができます。リリース前やリリース後のチェックがとても楽になりますね。

ログから直接そのコミット内容の修正内容へリンクで飛べるのがとても便利で、気に入っています。

 

【エンジニアいなばのアウトプット】

WebAPIドキュメント作成サービス「Apiary」を使ってWebアプリ開発を高速化しよう

Markdownでいい感じのプレゼン用スライド資料を作れる「Deckset」を使ってみよう

AngularJSのngResourceモジュールをRestangularに置き換えてみた

AngularJS ui-routerを使って認証機能を実装してみよう

LIG・SHIFTBRAIN・Uniba合同LT会でのLTデビュー前に準備した6つのこと

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

フロントエンドエンジニアのいなばです。 LIGではAngularやVueなどのフレームワークを使った中~大規模のWebアプリケーション開発、フロントエンドエンジニアの育成などを担当しています。 好きなものはカフェインとカプサイシン。 趣味はランニングと一眼レフです。

このメンバーの記事をもっと読む