lvncerpedia

How To Issuing Commit And Push

コミットやプルリクエスト (Pull Request) をIssueに紐づけることができます。 これにより、Issue の進捗を自動的に追跡でき、プロジェクトの管理が効率化されます。

以下では、GitHub 上でコミットやプッシュを Issue に紐づける方法を説明します。

1. コミットメッセージで Issue に紐づける

「キーワード + Issue 番号」を使用

コミットメッセージ内で特定のキーワードと Issue 番号を記述することで、Issue とコミットをリンクできます。例えば、以下のように書くと、自動的に GitHub の Issue に追跡リンクが追加されます。

キーワード例

  • Closes
  • Fixes
  • Resolves

コミットメッセージ例

fix: Resolve login crash when username is empty

Closes #42

この場合、#42の Issue はコミットがmainブランチにマージされた時点で自動的にクローズされます。 (「Closes」の代わりに「Fixes」や「Resolves」を使っても同様の動作になります。)


2. コミットから Issue を参照するだけの場合

もしコミットがIssue をクローズしない場合でも、参照としてリンクすることが可能です。

例

refactor: Simplify authentication logic

See #42

これにより、Issue #42 にリンクが追加され、コミットの内容を確認できますが、Issue 自体はクローズされません。


3. プルリクエストで Issue に紐づける

プルリクエストの説明欄でも「Closes」「Fixes」「Resolves」などを使って Issue を自動クローズできます。

プルリクエストの説明例

This pull request fixes the issue with login validation.

Closes #42

このプルリクエストがmainなどのターゲットブランチにマージされると、Issue #42 は自動的にクローズされます。

4. コミットが Issue に反映されるタイミング

  • ローカルでのコミットには Issue とのリンクは自動的には表示されません。
  • リモートにプッシュした後、GitHub 上の Issue にリンクが自動で追加されます。プルリクエストに紐づけた場合は、マージ後に Issue がクローズされます。

5. キーワードと動作の対応表

キーワード動作
Closes #42Issue を自動的にクローズする
Fixes #42Issue を自動的にクローズする
Resolves #42Issue を自動的にクローズする
See #42Issue を参照する(クローズされない)

6. 注意点

  • Issue 番号の前には#を付ける必要があります(例:#42)。
  • マージやプッシュされないと自動クローズは実行されません。
  • プロジェクトが大きい場合、複数の Issue にまたがる場合もあるため、正確な Issue 番号の指定が重要です。

このようにして、コミットやプルリクエストと Issue を関連付けることで、GitHub の管理が楽になり、チーム全体の作業がより透明化されます。