Skip to content

Instantly share code, notes, and snippets.

@mironal
Last active April 1, 2022 07:24
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mironal/c14a2848e752baead8e2 to your computer and use it in GitHub Desktop.
Save mironal/c14a2848e752baead8e2 to your computer and use it in GitHub Desktop.
コミットメッセージガイドライン

コミットメッセージガイドライン

概要

このドキュメントは feather のコミットメッセージをどのように書くのかを示すガイドラインです。

feather ではコミットメッセージを元にリリースノートを自動生成しているため 一定のフォーマットに従ってコミットメッセージが書かれている必要があります。

ここではどのようなフォーマットでコミットメッセージを書けばよいのかを記載します。

大前提

様々な状況に合わせてどのようにメッセージを書けばよいのかを記述するのは大変なので ここでは最低限のルールだけを記載します。

コミットメッセージは適当に書かずに、過去のものを参考にしたりしてわかりやすく書く努力をしてください。

具体的な内容については コミットテンプレートの commit-message.template に記載します。 このテンプレートは状況に合わせてメンテナンスされる必要があります。

❗ 各自開発を始める前に git config --local commit.template doc/commit-message.template を設定してください。

フォーマット

リリースノートに含めるコミットメッセージは以下の要素から構成されます。

[type][scope] subject
<BLANK LINE>
<body>

[type]

変更の種類の見出し (新機能、 不具合修正、 その他) に使われます。

以下のいずれかを [] で囲んで使用します。

  • 新機能
  • 不具合修正
  • その他

その他 は機能変更・削除に関するものです。

[scope]

どの機能の変更なのかを識別するのに使用するものです。 主に type新機能 の場合に使用します。

[] で囲んで使用します. [type] との間に スペースは入れません

scope の例を以下に示します。

  • 投稿画面
  • ツイート詳細画面
  • プロフィール画面
  • プロフィール編集画面
  • タブ
  • タイムライン
  • ダイレクトメッセージ

subject

リリースノートに載る機能の説明文です。

[type] または [scope]subject の間に スペースを入れます

過去のものを参考にしてわかりやすい言葉を使用してください。

BLANK LINE

一行目と <body> の間には空行を1行入れます。

body

subject を補足する内容を必要に応じて記載します。 内容の詳細に関しては commit-message.template で管理します。

補足

漢字の表記

同じ意味を記述する際に漢字表記と平仮名表記が混ざらないように気を付けてください

  • 出来る より できる を使用します
  • 「次の 通り」 ではなく、 「次の とおり」 を使用します

全て書くのは大変なので迷った時は過去のメッセージを参考にしたり、 文化庁 | 国語施策・日本語教育 | 国語施策情報 | 内閣告示・内閣訓令 | 常用漢字表(平成22年内閣告示第2号)公用文における漢字使用等について を参考にしてください。

生成例

フォーマットだけを説明されても分かり難いと思うので具体的な例を以下に示します。

メッセージの変換には log2changelog というツールを使用しています。

Input をコピーして pbpaste | log2changelog 新機能 不具合修正 その他 とすると Output の出力が得られます。

Input

[新機能][設定画面] 要望・お問い合わせが簡単にできるようになりました
[新機能][トレンド] トレンド画面がタブに追加できるようになりました 🍣
[新機能] URL Scheme を使って投稿画面が開けるようになりました
[不具合修正] 一部の URL が認識されない不具合を修正しました
[不具合修正] 不要な設定が表示されている不具合を修正しました
[不具合修正] "不具合・要望を送る" ボタンを押した時にクラッシュすることがある不具合を修正しました
[不具合修正] iOS 9 でツイートのレイアウトの設定を開くとフリーズする不具合を修正しました
[不具合修正] iOS9 の場合に外部ブラウザの URL Scheme が機能しない不具合を修正しました
[不具合修正] iOS9 の場合に半角カタカナボタンが非表示になってしまう不具合を修正しました
[不具合修正] iOS9 の場合に翻訳機能が正常に動作しない不具合を修正しました
[不具合修正] メールが使えない時にメールフォームを開くとクラッシュする不具合を修正しました
[不具合修正] 投稿画面で一部のアルバムが表示されない不具合を修正しました
[不具合修正] 自分のツイートをお気に入りした時に通知されてしまう不具合を修正しました
[不具合修正] ミュートした時にタイムラインをスクロールするとクラッシュする不具合を修正しました
[その他] FAQ のページを変更しました
[その他] メディア画面が開くときのアニメーションを滑らかにしました
[その他] プロフィール画面からツイートするときにユーザー名が選択状態になっているのをやめました
[その他] iOS 9 では San Francisco フォントを使用するように変更しました
[その他] 設定画面の項目を整理しました
[その他] 画像のキャッシュを最適化しました

Output

# 新機能

## 設定画面

- 要望・お問い合わせが簡単にできるようになりました

## トレンド

- トレンド画面がタブに追加できるようになりました 🍣

## 未分類

- URL Scheme を使って投稿画面が開けるようになりました


# 不具合修正

## 未分類

- 一部の URL が認識されない不具合を修正しました
- 不要な設定が表示されている不具合を修正しました
- "不具合・要望を送る" ボタンを押した時にクラッシュすることがある不具合を修正しました
- iOS 9 でツイートのレイアウトの設定を開くとフリーズする不具合を修正しました
- iOS9 の場合に外部ブラウザの URL Scheme が機能しない不具合を修正しました
- iOS9 の場合に半角カタカナボタンが非表示になってしまう不具合を修正しました
- iOS9 の場合に翻訳機能が正常に動作しない不具合を修正しました
- メールが使えない時にメールフォームを開くとクラッシュする不具合を修正しました
- 投稿画面で一部のアルバムが表示されない不具合を修正しました
- 自分のツイートをお気に入りした時に通知されてしまう不具合を修正しました
- ミュートした時にタイムラインをスクロールするとクラッシュする不具合を修正しました


# その他

## 未分類

- FAQ のページを変更しました
- メディア画面が開くときのアニメーションを滑らかにしました
- プロフィール画面からツイートするときにユーザー名が選択状態になっているのをやめました
- iOS 9 では San Francisco フォントを使用するように変更しました
- 設定画面の項目を整理しました
- 画像のキャッシュを最適化しました

2015-10-08 14:10:50 +0900


https://github.com/covelline/feather/issues/3604

https://github.com/covelline/feather/pull/3758

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment