コードレビュー¶
コミットまたは push する前に、ChatGPT または Codex を使用してコード変更を検査します。
レビューを開始する¶
アプリでレビューする¶
レビュー ペインを開いて変更内容を確認し、行ごとのフィードバックを提供して、ステージング、リバート、コミット、または push する内容を決定します。
Codex に変更をレビューしてもらうには、composer に /review と入力します。
ベースブランチに対してレビュー または コミットされていない変更をレビュー を選択します。Codex は作業ツリーを変更せずに、優先度付けした指摘事項を報告します。
レビュー ペインを使用するには、Git リポジトリ内にプロジェクトが必要です。プロジェクトがまだ Git リポジトリでない場合、アプリによって作成を促されます。
レビュー範囲を選択する¶
表示される変更内容¶
レビュー ペインには、Codex が編集した内容だけでなく、Git リポジトリの状態が反映されます。Codex による変更、自分で行った変更、リポジトリ内のその他のコミットされていない変更が含まれます。
デフォルトでは、レビュー ペインに ステージングされていない 変更が表示されます。Git インデックスには ステージング済み、選択したコミットには コミット、ベースブランチとの差分には ブランチ、直近のアシスタントターンには 直近のターン を使用します。
レビュー結果を操作する¶
コードレビューの結果¶
レビューの指摘事項は、レビュー ペインにインラインコメントとして表示されます。
デフォルトでは、レビューは現在のチャットで実行されます。設定 > 一般 > コードレビュー で 分離 を選択すると、別のレビュー チャットが開始されます。開発者設定を参照してください。
Codex に見つかった修正を適用するよう依頼した場合は、通常の サンドボックスと承認の設定が適用されます。
レビュー ペインを操作する¶
- ファイル名をクリックすると、通常は選択したエディターでそのファイルが開きます。開発者設定でデフォルトのエディターを選択できます。
- ファイル名の背景をクリックすると、差分が展開または折りたたまれます。
- Cmd を押しながら 1 行をクリックすると、選択したエディターでその行が開きます。
- 変更に問題がなければ、不要な変更をステージングまたはリバートできます。
フィードバック用のインラインコメント¶
インラインコメントを使用すると、差分内の特定の行に直接フィードバックを追加できます。これは、Codex を適切な修正に導く最も迅速な方法であることがよくあります。
インラインコメントを残すには、次の手順を実行します。
- レビュー ペインを開きます。
- コメントしたい行にカーソルを合わせます。
- 表示される + ボタンを選択します。
- フィードバックを記入して送信します。
- フィードバックの追加を終えたら、チャットにメッセージを送信します。
コメントは行に紐付いているため、Codex は一般的な指示よりも正確に対応できます。
Codex はインラインコメントをレビューのガイダンスとして扱います。コメントを残した後、たとえば「インラインコメントに対応し、範囲を最小限に抑えてください」のように、意図を明確にしたフォローアップメッセージを送信します。
pull request のレビュー¶
Codex がリポジトリへの GitHub アクセス権を持ち、現在のプロジェクトが pull request ブランチ上にある場合、ChatGPT デスクトップアプリを使用して、アプリを離れずに pull request のフィードバックに対応できます。サイドバーには pull request のコンテキストとレビュアーからのフィードバックが表示され、レビュー ペインには差分と並べてコメントが表示されるため、同じチャットで Codex に問題への対応を依頼できます。
GitHub CLI (gh) をインストールし、gh auth login で認証して、Codex が pull request のコンテキスト、レビューコメント、変更されたファイルを読み込めるようにします。gh が存在しないか認証されていない場合、pull request の詳細がサイドバーまたはレビュー ペインに表示されないことがあります。
修正のループ全体を 1 か所で完結させたい場合は、次のフローを使用します。
- pull request ブランチでレビュー ペインを開きます。
- pull request のコンテキスト、コメント、変更されたファイルを確認します。
- 対応してほしい特定のコメントを修正するよう Codex に依頼します。
- レビュー ペインで結果の差分を確認します。
- 準備ができたら、変更をステージング、コミットし、pull request ブランチに push します。
GitHub によってトリガーされたレビューについては、GitHub で Codex を使用するを参照してください。
ファイルのステージングとリバート¶
レビュー ペインには Git アクションが含まれているため、コミット前に差分を整えられます。
次のレベルで変更をステージング、ステージング解除、またはリバートできます。
- 差分全体: レビュー ヘッダーのアクションボタン(すべてをステージング や すべてをリバート など)を使用します。
- ファイル単位: 個別のファイルをステージング、ステージング解除、またはリバートします。
- ハンク単位: 1 つのハンクをステージング、ステージング解除、またはリバートします。
作業の一部を受け入れたい場合はステージングを使用し、破棄したい場合はリバートを使用します。
ステージング済み状態とステージングされていない状態¶
Git では、同じファイルにステージング済みの変更とステージングされていない変更の両方を含めることができます。その場合、ペインには同じファイルが両方のビューに表示されることがあります。これは通常の Git の動作です。