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でサポートされているCloseResolvesなどの別名を使用しないでください。

コミットを修正済みとマークせずにイシューにリンクする場合(例えば、コミットが修正作業中であるが、まだ完全な修正ではない場合)、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の一部です。