Skip to content

7. feature の PR を作成する ​

概要 ​

feature ブランチで実装したコードとテストをコミットし、GitHub へ push します。その後、feature ブランチの変更を develop ブランチへ取り込むための Pull Request を作成します。

Pull Request では、変更したコードだけでなく、変更の目的、関連する Issue、テストとビルドの結果をレビュー担当者へ共有します。作成すると CI が実行され、マージする前に変更内容と品質を確認できる状態になります。この段階では main へリリースせず、まず develop へ変更を統合します。

手順 ​

1. 変更をコミットする ​

実装とテストの変更だけをコミットし、今回の Issue に対応する変更として記録できたことを確認します。

Agent モードで以下の指示を与えます。

1 は実際の Issue 番号へ置き換えます。

text
既存の AGENTS.md と git-workflow Skill のガードレールに従ってください。
現在のブランチと Issue #1 が対応していることを確認し、Issue と現在の差分に基づく適切なメッセージで、今回の実装に関係する変更だけを1件のコミットにしてください。
コミットの対象ファイル、メッセージ、影響を要約し、askQuestions で明示的な承認を得てから実行してください。
対象不明、状態不整合、秘密情報の疑いがあれば変更せず質問してください。コミット前後の状態を確認し、push は行わないでください。

次を確認します。

  • 現在のブランチと Issue が対応し、今回の実装に関係する変更だけが対象である
  • コミットの対象ファイル、メッセージ、影響を確認して明示的に承認するまで実行されていない
  • コミット前後の状態が報告されている
  • push は実行されていない

2. リモートへ push する ​

コミットが完了したら、現在の feature ブランチをリモートへ push します。

Agent モードで以下の指示を与えます。

text
既存の AGENTS.md と git-workflow Skill のガードレールに従ってください。
現在のブランチ、upstream、作業ツリー、直近コミット、origin を確認し、push 対象が今回の feature ブランチであることを示してください。
origin へ feature ブランチを初回 push する外部変更について、リポジトリ、ブランチ、コミット、影響を要約し、askQuestions で明示的な承認を得てから git push -u origin HEAD を実行してください。
対象不明、未コミット変更、ブランチや remote の不整合があれば push せず質問し、実行後に upstream と push 結果を確認してください。

次を確認します。

  • push 対象が今回の feature ブランチと直近コミットである
  • リポジトリ、ブランチ、コミット、影響を確認して明示的に承認するまで push されていない
  • 実行後の upstream と push 結果が報告されている
  • ブランチや remote に不整合がある場合は push されていない

3. Pull Request を作成する ​

リモートへ push した feature ブランチから、develop ブランチへの Pull Request を作成します。

Agent モードで以下の指示を与えます。

GitHub CLI や GitHub MCP サーバー経由で Pull Request を作成できる環境で実行します。

text
/create-pr

既存の AGENTS.md と git-workflow Skill のガードレールに従い、作成前に対象リポジトリ、ベースが develop、ヘッドが現在の feature ブランチ、タイトル、変更概要、実行済みの確認結果、Related to #<Issue番号> を要約してください。
Pull Request 作成は外部変更のため、askQuestions で明示的な承認を得るまで作成しないでください。対象不明、ベース/ヘッドの不整合、未 push のコミット、テスト結果不明があれば変更せず質問してください。
承認後に1件だけ作成し、URL とベース/ヘッドを確認して報告してください。

次を確認します。

  • 対象リポジトリ、ベースが develop、ヘッドが現在の feature ブランチである
  • タイトル、変更概要、実行済みの確認結果、Related to #<Issue番号> が実際の内容と一致している
  • 外部変更の対象と影響を確認して明示的に承認するまで Pull Request が作成されていない
  • 承認後に1件だけ作成され、URL とベース/ヘッドが報告されている

確認事項 ​

  • ベースが develop、ヘッドが feature/<Issue番号>-low-availability である
  • Pull Request の本文に変更概要と実行済みの確認結果が記載されている
  • Pull Request の本文に Related to #<Issue番号> が含まれている
  • 変更対象が src/availability.js と src/availability.test.js の2ファイルだけである

まとめ ​

feature ブランチの変更をコミット、push し、develop ブランチへの Pull Request を作成しました。Pull Request には変更概要、テストとビルドの結果、関連する Issue を記載したため、レビュー担当者は「なぜ変更したか」「何を変更したか」「どのように確認したか」を1か所で把握できます。

この段階では Related to #<Issue番号> を使用し、Issue を閉じずに参照しました。feature ブランチから develop へのマージは中間統合であり、GitHub の自動クローズは既定ブランチ向け Pull Request でだけ機能します。後で作成する develop から main への Pull Request に Closes #<Issue番号> を記載し、リリース時に Issue を閉じます。

補足: 実務で役立つ Pull Request の作り方
  • Pull Request を小さく保つと、レビュー担当者が意図と差分を理解しやすくなり、不具合が見つかった場合の修正や切り戻しも容易になります。
  • タイトルには変更の目的、本文には背景、変更概要、確認方法、関連 Issue を記載します。コードを読まなくても変更の全体像が分かる内容を目指します。
  • ベースとヘッドを取り違えると、意図しない差分やコミットが含まれます。作成前後に必ず確認します。
  • テスト結果は実際に実行したものだけを記載します。未確認の項目を成功済みとして記載しないでください。
  • 大きな変更や設計に迷う変更では、実装途中でも Draft Pull Request を作成すると、早い段階でフィードバックを受けられます。
  • Pull Request テンプレートを用意すると、変更概要、テスト、影響範囲など、チームで必要な情報の記載漏れを減らせます。
  • 自動生成された本文もそのまま使用せず、実際の差分と一致し、レビュー担当者に必要な情報が含まれているか確認します。

次は、Pull Request で実行された CI の結果と変更差分を確認し、人によるレビューを経て develop へマージします。