CodexとGitで変更を一時退避して元に戻す
公開 2026-09-20 更新 2026-09-20

関連テーマ:変更を調べ、試して確かめる
編集中の変更をいったん片付け、あとで同じ作業へ戻りたいときは、Gitのstash(一時退避)を使えます。この記事ではCodexへ対象を伝える依頼文と、手元の練習フォルダーで退避・復元を確かめる方法を説明します。
会話を再開したい場合はCodexの作業再開へ進んでください。ここで扱うのはファイルの変更です。stashは通常のコミットや別の場所のバックアップと同じものではありません。
退避する前に対象を確かめる
各段階で確認してから、次の操作へ進みます。
- 1確認変更の持ち主と対象を確認
- 2退避名前と内容と残ったファイルを見る
- 3復元本文と差分を確認し一覧は保持
具体的な依頼と、結果の確かめ方は本文にあります。
Git導入済みで、コミットを一つ以上作った練習用リポジトリを使います。準備はGitの基本を参照してください。仕事の途中のフォルダーでは試さず、他の人やエージェントが同時に編集していない場所で行います。
PowerShellを練習フォルダーで開き、場所と差分を確認します。
Get-Location
git status --short
git diff
git diff --cached
知らない変更があれば、その持ち主と目的を確認するまで退避しません。Codexへ依頼する場合も、いきなり「作業場所をきれいにして」ではなく次のように対象の確認から始めます。
このフォルダーのGitの状態を読み取り、変更済み・新規・ステージ済みのファイルを分けて教えてください。
私の変更以外が混ざっていないかを確認したいです。
まだ退避・削除・復元は実行せず、対象と戻し方を説明してください。
小さなファイルで退避を試す
コミット済みのnote.txtの本文を before から after に変えて保存します。続けて、まだGitへ追加していないnew.txtも一つ作ります。この二つだけが変更として表示される状態で進めてください。
git stash push -m "practice pause"
git stash list
git status --short
今回の隔離した練習では、note.txtはbeforeへ戻り、new.txtは作業場所に残りました。通常のpushでは未追跡ファイルを含めないためです。名前付きの退避が一覧にあることと、実際のファイルの中身の両方を確認します。
| 確認したいこと | 確認先 |
|---|---|
| 退避が作られたか | stash listのpractice pause |
| 何を退避したか | 次のstash showの差分 |
| 何が手元に残ったか | statusとファイルそのもの |
git stash show -p 'stash@{0}'
stash@{0}は最新の退避です。途中で別の退避を作ると番号が変わるので、実作業では毎回一覧と内容を照合します。PowerShellでは例のように引用符で囲みます。
一覧を残して復元する
この練習では退避後にnote.txtを編集せず、そのまま戻します。
git stash apply 'stash@{0}'
git diff
git stash list
検証ではnote.txtがafterに戻り、退避の一覧も残りました。applyは退避を一覧から削除しません。戻った文章を開いて確認し、必要なテストを行ってから、通常のコミットへ進みます。同じ退避を続けて何度も適用しないでください。
うまくいかないときの見分け方
| 状況 | 次の一手 |
|---|---|
| 新規ファイルが残った | 未追跡ファイルは通常の退避に含まれません。追加対象を確認してから-uの要否を検討します。 |
| 復元時に競合した | 再実行や上書きをせず、statusと競合箇所を確認し、競合の解決へ進みます。 |
| 内容は戻ったがステージ状態が違う | 通常のapplyとステージ状態の復元は区別します。コミット対象を差分で選び直してください。 |
| 退避が見つからない | 元のリポジトリか、一覧の番号と説明が合うかを確認します。 |
-uや競合時の復元はこの記事では実測していません。全件削除のclearや、復元と一覧削除をまとめるpopはこの練習には使いません。不要になった退避の整理も、復元結果を確認してから別に判断します。
検証した範囲と次に読む記事
2026年9月20日にWindows上のGit 2.53.0.windows.1で、練習用の新規リポジトリを作り、退避後の本文・未追跡ファイルの残存・一覧・退避差分・復元後の本文・一覧保持の6項目を確認しました。改行はCRLF/LFをそろえて本文を比較しています。Codexモデルによる実行、利用者の実プロジェクト、競合解決の成功を検証したものではありません。
仕様は同日Git公式のstash資料を照合しています。退避と復元を確認できたら、Gitの基本でコミットまで進めます。複数の作業を同時に継続したい場合は、ワークツリーとの違いも確認してください。
このテーマを続けて読む
不具合修正、テスト、コード整理、ブランチで変更の結果を確認します。
変更を調べ、試して確かめるの記事をまとめて見る