Go Wiki: コミットメッセージ
コミットメッセージは、CL (チェンジリスト) の説明とも呼ばれ、https://go.dokyumento.jp/doc/contribute#commit_messages に従ってフォーマットする必要があります。例えば、
net/http: handle foo when bar
[longer description here in the body]
Fixes #12345
特に、件名 (説明の最初の行) については、
- 変更の影響を受けるパッケージの名前はコロンの前に置きます
- コロンの後の部分は、「この変更はGoを___________するために修正します」という空白を埋める動詞の時制 + 句を使用します。
- コロンの後の動詞は小文字です
- 末尾にピリオドはつけません
- できるだけ短く保つべきです (多くのgit表示ツールは76文字未満を好みますが、Goではこれについて厳格ではありません)。
本文 (説明の残りの部分) については、
- テキストは、本当に長い行が必要な場合 (ASCIIアート、表、長いリンクなど) を除いて、約76文字に折り返すべきです (主にgit表示ツールに対応するため)。
- Fixes行は、本文の後に空白の改行を挟んで配置します。(
Fixes #12345.のように末尾にピリオドを使用することも許容されますが、必須ではありません)。 - コミットメッセージにMarkdownは使用しません。
Signed-off-by行は使用しません。追加しないでください。当社のGerritサーバーとGitHubボットがCLA準拠を強制します。- CLを参照する場合、Gerritの直接URLやgitハッシュよりも「CL nnn」またはgo.dev/cl/nnnのショートリンクを使用する方が、将来的に有効です。
- リポジトリ間でコードを移動する場合、移動元/移動先のCL、リポジトリ名、gitハッシュを含めることで、履歴/責任の追跡が容易になります。
Fixes の代わりに、GitHubでサポートされているCloseやResolvesなどの別名を使用しないでください。
コミットを修正済みとマークせずにイシューにリンクする場合(例えば、コミットが修正作業中であるが、まだ完全な修正ではない場合)、GitHubはイシューがコミットメッセージに番号で言及されていることのみを要求します。慣例として、Goのコミットでは、Fixesが期待されるかもしれない箇所にForを使用してメッセージの最後にこれを記載します。これは、番号がコミットメッセージの本文にも言及されている場合でも同様です。
例
Refactor func Foo.
This will make the handling of <corner case>
shorter and easier to test.
For #12345
他のGitプロジェクトではForの代わりにUpdatesを使用するのが一般的で、それは許容されますが、あまり意味がありません(コミットがイシューを更新するわけではないため)。より正確な表現も問題ありません。コードレビューで過度にこだわる必要はありません。UpdatesなどからForへの変更、またはその逆を人々に求める価値はありません。
Reverts
GerritのRevertボタンを使用して変更を元に戻すことができます。Gerritが説明を生成します。説明を編集して、元に戻されるGerrit CL番号をGitリビジョン番号の横、または代わりにに追加します。
Gerrit UIを使用してリバートのリバートを作成しないでください。それはすぐに人々に通知されるからです。代わりに、新しい変更としてメールを送り、説明で、CL NNNNNNによって元に戻されたCL NNNNNNのロールフォワードであることを説明してください。
他のリポジトリ
「go」以外のリポジトリ(「crypto」、「tools」、「net」など)の場合、件名は依然としてパッケージ名ですが、イシュー番号をGitHubの組織/リポジトリ構文で完全に修飾する必要があります。
cipher/rot13: add new super secure cipher
Fixes golang/go#1234
特に、最初の行の件名にはx/crypto/プレフィックスを含めないでください。これはイシュートラッカーの場合にのみ行います。
非規範的参照
GitHubプルリクエスト
GitHubプルリクエストを使用している場合、コミットメッセージはGerritBotによってPRのタイトルと説明に基づいて作成されます。GerritBotが最終的なコミットメッセージをどのように決定するか?を参照してください。
コミットメッセージの変更を求められた場合、PRを変更する必要があります。

このコンテンツはGo Wikiの一部です。