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 #42 | Issue を自動的にクローズする |
| Fixes #42 | Issue を自動的にクローズする |
| Resolves #42 | Issue を自動的にクローズする |
| See #42 | Issue を参照する(クローズされない) |
6. 注意点
- Issue 番号の前には
#を付ける必要があります(例:#42)。 - マージやプッシュされないと自動クローズは実行されません。
- プロジェクトが大きい場合、複数の Issue にまたがる場合もあるため、正確な Issue 番号の指定が重要です。
このようにして、コミットやプルリクエストと Issue を関連付けることで、GitHub の管理が楽になり、チーム全体の作業がより透明化されます。