Nov. 19, 2025
GitHub の PR で特定ファイルを誤って変更してしまったときの対処法
What I Learned
Pull Request 内の特定コミットから不要なファイル変更だけを取り除く方法を学んだ。git rebase -i と git commit --amend を組み合わせることで、履歴を綺麗に保ちながら、過去のコミットをピンポイントで修正できる。
Details
問題の状況
PR を作成して diff を確認したところ、あるコミットで意図しないファイルが誤って変更されていた:
D example/config.yaml (削除扱い)
特定の設定ファイルやドキュメントなど、関係のないものがコミットに含まれてしまうケースはよくある。このままでは PR が正しくレビューできないため、該当コミットだけを修正する必要があった。
解決方針
今回の目的は以下の通りである:
- PR の他の変更部分には影響を与えない
- 問題のコミット"だけ"内容を修正する
- 履歴をきれいに保ち、不要な変更をなかったことにする
- 「削除 → 再追加」のようなノイズを残さない
これを実現するために、git rebase -i を使って該当コミットを直接編集し、git commit --amend で内容を書き換える方法を選んだ。
実際の手順
Step 1: 対象コミットの親から rebase を開始
対象コミット ID を abcd1234 として:
1git rebase -i 'abcd1234^'
rebase 用の画面が開き、次のような行が表示される:
pick abcd1234 Some commit message
これを次のように書き換える:
edit abcd1234 Some commit message
保存すると、abcd1234 のコミットで処理が一旦停止する。