Codexのレビューで対象の差分を選ぶ方法|未コミット・ブランチ・1コミット

Codexのレビューで未コミット、ブランチ差分、1コミットを選ぶ記事 開発環境

message.txt を変更し、レビュー用の notes.txt を新規作成しました。message.txt をコミットした直後、git status --short に残っていたのは ?? notes.txt だけです。一方、main とのブランチ差分にはコミットした message.txt が出ます。

Codexの /review は、確認したい変更がGitのどこにあるかで対象を選びます。 コミット直前は未コミット差分、PRを出す前はベースブランチとの差分、特定の修正だけならコミット指定です。WindowsのGit 2.42.0とCodex CLI 0.155.1を使ったサンプルで、対象の確認とレビュー結果の確かめ方を見ます。

Codexレビューの未コミット、ベースブランチ、1コミットを選ぶ場面と対応するGitコマンドの図
レビューを始める前に、対応するGitコマンドで対象ファイルを確かめます。

コミット前は git status --short から見る

作業フォルダで、未コミットのファイルを確認します。

git status --short
git diff --name-only
git diff --cached --name-only

git status --short は、次のコミットに入れる準備をした変更(ステージ済み)、まだ準備していない変更、未追跡ファイルを一覧にします。git diff --name-only は未ステージの追跡済み変更、git diff --cached --name-only はステージ済みの変更を確認するコマンドです。

サンプルで message.txt をステージした直後は、git diff --name-only が空でも、git status --short には次の2行が出ました。先頭の列に M がある message.txt はステージ済みで、?? の notes.txt は未追跡です。

M  message.txt
?? notes.txt

Codexの入力欄から /review を開き Review uncommitted changes を選ぶと、ステージ済み・未ステージ・未追跡の変更が対象になります。CLIで同じ範囲を指定するなら codex review --uncommitted です。この範囲を選ぶ前に ?? のファイル名も確認します。作業用のメモや、レビューに出す予定のないローカルファイルが混ざっている場合があるからです。

PRの前はベースブランチを合わせる

コミット済みの変更をまとめて見たいときは /review の Review against a base branch を選びます。PRのマージ先が main で、手元の main が比較したい状態なら、CLIでは次の2行です。

git diff --name-only main...HEAD
codex review --base main

最初の行で、現在のブランチと main が分かれた共通のコミットから、現在のコミットまでに変わったファイル名を確認します。先ほどのサンプルで message.txt をコミットすると、こちらに message.txt が出ました。比較先には、PRのマージ先と照合したローカルのブランチ名を指定します。

この git diff は、コミット済みの範囲を確認するためのコマンドです。検証したCLIの組み込みレビューは、共通コミットから作業フォルダまでを比較する git diff を実行しようとしました。追跡済みの未コミット変更もそこに入るため、PRに含める差分だけをレビューしたい場合は、git diff main...HEAD の出力を明示して渡すと範囲を固定できます。

サンプルで .gitignore を未コミットのまま変更すると、共通コミットから作業フォルダまでの比較にだけ .gitignore が出ました。PR用の差分を共有するときは、git diff main...HEAD を手元で開き、渡したいファイルが含まれているかを確認します。

一つの修正だけ見たい場合は、git log -1 --oneline などでコミットIDを確認し、CLIで codex review --commit <SHA> を実行します。直前のコミットなら、git show --stat HEAD でファイルを先に確認できます。

結果は失敗する入力で確かめる

レビューの指摘が具体的か確かめるため、サンプルの差分に次の関数を用意しました。仕様は「残数が0以上ならプレビューを許可する」です。

def can_preview(remaining):
    return remaining > 0

検証環境ではCodexの組み込みレビューからGit差分を取得するコマンドが実行制限にかかったため、自分で取得したサンプルの差分だけを別のCodexチャットへ渡しました。指摘された入力は can_preview(0)。仕様では許可するはずですが、実行すると False です。

レビューを続けるには、端末で git show HEAD などを実行し、対象の差分を確認してから必要な部分を渡します。依頼に「期待する動作と、失敗する具体的な入力を挙げて」と加えると、指摘を手元で再現しやすくなります。

Codexのチャットとエディタで git status の結果が違う場合は、Worktreeの場所を確認する手順から、同じ作業フォルダを開いているか確かめてください。

参照した公式資料

コメント

タイトルとURLをコピーしました