CodexでGitの履歴から変更箇所を探す
公開 2026-09-19 更新 2026-09-19

関連テーマ:変更を調べ、試して確かめる
「前は動いていたのに、いつ変わったのか分からない」ときは、直す前にGitの履歴を読むと調査の範囲を絞れます。この記事では、既存のコミットから対象ファイルの変更を探し、Codexへ根拠付きで調査を頼む手順を説明します。履歴を見ただけで原因と断定せず、再現確認へつなげます。
始める前に対象と現在の状態を確認する
Gitを導入済みで、コミットがあるプロジェクトを使います。まだ履歴を作っていない場合は、Gitで変更を保存する入門から進めてください。Windowsでは対象フォルダーでPowerShellを開きます。
Get-Location
git status --short
git --no-pager log -5 --oneline
場所が意図したプロジェクトで、短い識別番号と説明が出れば履歴を読めています。識別番号はコミットを指定するための値です。未コミットの変更は通常の履歴一覧に含まれないので、先に状態を控えます。この調査のために未保存の作業を捨てたり、コミットを作ったりする必要はありません。
一覧から一つの変更へ絞る
各段階で確認してから、次の操作へ進みます。
- 1一覧直近のコミットを確認
- 2差分対象ファイルの変更を読む
- 3検証候補を再現条件と照合
具体的な依頼と、結果の確かめ方は本文にあります。
まず直近5件、次に対象ファイル、最後に一つの変更という順で読みます。以下の note.txt は例なので、調べたいファイルのプロジェクト内のパスに置き換えてください。
git --no-pager log -5 --oneline -- note.txt
git --no-pager log -p -1 -- note.txt
最初は一覧、次はそのファイルに関係する最新コミットの差分です。行の先頭の - は削除された内容、+ は追加された内容を示します。--- と +++ はファイル情報なので、本文の追加・削除行と区別します。-- は以降がファイルの指定であることを明示します。
コミットの説明は作者が付けた要約です。「修正」と書かれていても、その変更で問題が解決したという証明にはなりません。実際の差分と問題の再現条件を照合します。
小さな例で変更前後を読む
次は実際のプロジェクトの記録ではなく、読み方を説明する例です。
-timeout=30
+timeout=5
待ち時間を表す設定なら、30から5への変更が調査候補になります。ただし単位、設定が読み込まれる場所、別の変更の影響はこの差分だけでは分かりません。「この変更が原因」とせず、「待ち時間の変更が影響するか確認する」と整理します。
特定のコミットを調べるときは、一覧の識別番号をコピーして指定します。次の abc1234 は架空の値です。そのまま実行せず、自分の一覧の値に置き換えます。
git --no-pager show --stat abc1234
git --no-pager show abc1234 -- note.txt
前者で変更されたファイルの範囲、後者で対象の差分を確認します。これらは履歴を表示する操作で、過去の内容へファイルを戻す操作ではありません。マージコミットでは通常のコミットと差分表示が異なるため、差分が空でも変更がなかったと決めつけません。
Codexへ調査を頼むひな形
このプロジェクトのGit状態と、note.txtに関係する直近5件の履歴を調べてください。
ファイルの編集、ブランチ切替、コミット、復元、外部送信は行いません。
現象:以前より処理が早く中断されます。
各候補を「コミット識別番号・変更箇所・現象との関係・まだ確認していない点」で整理してください。
コミットの説明だけで原因を断定せず、差分を根拠にしてください。
最後に、既存の作業を保全して確認できる最小の再現手順を提案してください。
ファイル名と現象を書き換えて使います。回答では、挙げられた番号が実際の履歴にあり、引用された行が差分と一致するかを確かめます。候補と確定した原因を分け、次の検証を不具合修正の進め方につなげます。
履歴が見つからないとき
| 状況 | まず確認すること |
|---|---|
| Gitの管理下ではないと表示される | Get-Locationでフォルダーを確認。調査目的で勝手にgit initしない |
| ファイル指定後だけ一覧が空 | パスの綴り、現在の場所、そのファイルがコミット済みか |
| 名前を変える前の履歴が見えない | 一つのファイルならgit log --follow -- note.txtを検討する |
| 直近の編集が一覧にない | 未コミットならgit statusとgit diffを確認する |
| 画面がページ表示から戻らない | qで終了する。例の--no-pagerはページ表示を使わない指定 |
| 共有先にはある古い履歴が手元にない | 浅い取得やブランチの違いを確認。手元の一覧だけで履歴消失と断定しない |
--follow は単一ファイルの改名をたどるための指定です。すべての履歴を必ず復元できる機能ではありません。復元が必要になったら、対象と未コミットの作業を確認してから変更を確認して戻すへ進みます。
確認した範囲と次に読む記事
2026年9月19日にgit log公式資料とgit show公式資料で表示・ファイル指定の意味を照合しました。差分例は説明用であり、実ユーザーの不具合を解決した結果ではありません。Codexによる原因特定と実プロジェクトの復元操作は未検証です。
これから作る変更はブランチで別案を分ける、まだ履歴にない変更は差分を確認するへ進めます。
このテーマを続けて読む
不具合修正、テスト、コード整理、ブランチで変更の結果を確認します。
変更を調べ、試して確かめるの記事をまとめて見る