Codexは、OpenAIが提供する強力な開発支援ツールです。GitHubとの連携を通じてIssueから自動でコード生成し、プルリクエスト(PR)まで作成してくれて、まるで新しい開発メンバーのようにあなたの開発を支援してくれます。そんな開発者にとって強力な味方であるCodexですがPRの作成に失敗してしまうことがあります。Codexが一生懸命つくってくれたコードをPRの作成できずに泣く泣く諦めた方もいらっしゃるのではないかと思います。本記事では、そんな残念な思いをしないようにCodexでプルリクの作成に失敗した時の対処方法を紹介いたします。
[目次を開く]
なんだか嫌な感じのするアラートです。プルリクが作成できないことによりCodexが作業してくれた修正が無駄になってしまう…、そんな時はgit applyを活用しましょう!
git applyとは?
git apply は、Gitのパッチファイル(diff形式)をローカルのソースコードに適用するコマンドです。このコマンド自体は コミットを作成せず、あくまで「変更差分を適用するだけ」 の機能を持ちます。これにより、事前に内容を確認してからコミットするという柔軟なワークフローが可能です。
git applyで変更差分をローカル環境に適用
結論、プルリクの作成に失敗した時は、git applyで変更差分をローカル環境に適用することでCodexの作業を無駄にすることなく活かすことができます。
PRを作成するの横にある下方向の記号のボタンをクリックしてみてください。
すると「git applyをコピーする」と「パッチをコピーする」という項目が表示されます。各々の手順をみていきましょう。
「git applyをコピーする」手順
「git applyをコピーする」をクリックすることでクリップボードにコマンドがコピーされるので、そちらをターミナルで実行することでCodexの変更差分をローカル環境に適用することができます。
git applyは、新しくブランチを切って、そちらで変更差分を取り込んで、手動でプルリクを作成するようにしましょう。
注意点としてはWindowsをお使いの方は CMDやPowerSellではなくWSLのターミナルややGit BashのようなBash系じゃないと実行できません。
「パッチをコピーする」手順
「パッチをコピーする」をクリックするとクリップボードに変更差分がコピーされます。プロジェクトのルートディレクトリにpatch.diffなどのファイルを作成しそちらにペーストして保存してください。作業用のブランチを切り出してから作業されることを推奨します。
その後、以下のコマンドを実行してください。
git apply patch.diff これで変更が取り込まれるので、あとはプルリクを手動で作成してください。
git apply の基本的な使い方
シンタックス
git apply [パッチファイル] 例:sample.patch を適用する
git apply sample.patch このコマンドを実行すると、sample.patch に記載された差分が、現在の作業ツリー(working directory)に反映されます。
差分を確認する(--stat)
git apply --stat sample.patch どのファイルが変更対象かを事前に確認可能です。
実際には適用せずチェックのみ(--check)
git apply --check sample.patch パッチが適用可能か、衝突しないかを確認できます。
リバース(取り消し)適用(--reverse)
git apply --reverse sample.patch パッチの変更を元に戻す際に使用。
差分をファイルに出力(git diff)
git diff > sample.patch 今回のケースではCodexの作成したパッチを使っていますが、もちろん、自身でパッチファイルを作成することも可能です。
まとめ
今回は、アラートが表示されると残念な気持ちになってしまうCodexでプルリクの作成に失敗した時の対処方法を紹介しました。
今回、紹介したgit apply は、プルリクを作成せずに修正をローカルで試してみたい際やコミットせずに一時的に変更したい処理などに使うこともできるので、ぜひ活用してみてください。

