GitHubでbranchを間違えた時の確認ポイント
branchを間違えた時は、いまいるbranch、commitしたbranch、push済みか、PR前か、mainに入ったかを分けて確認します。
このページでわかること
- 現在のbranchとcommit先を確認する
- push済み、PR済み、merge済みを分ける
- 他の人の作業や本番への影響を見る
まず確認すること
- 新しいbranchやrevertで対応できるか見る
- 差分と履歴を確認する
- 不明な時は強い操作へ進まない
やってはいけないこと
- mainへの直接反映を前提にする
- 履歴を書き換える操作を軽く扱う
- 作業履歴を雑に扱う
安全寄りに進める手順
- 対象のrepo、branch、PR、Actions runを確認する。
- Secrets、APIキー、token、.env、個人情報が差分やログに出ていないか見る。
- 必要な場合は値を停止または再発行し、影響範囲を整理する。
- 変更は小さなbranchとPRに分け、CIとreviewで確認する。
CodexやAI作業時の注意
AIに作業を渡す時は、対象ファイル、触らないファイル、確認項目を明記します。認証情報や実際のキー値は本文、Issue、PR説明、ログ、レポートに残さないようにします。
公式情報で確認する領域
Actions、Secrets、PR、repository visibility、workflow permissionsは仕様が変わることがあります。実作業前にはGitHub Docsで最新の説明を確認してください。
「branchを間違えた」は気づいた時点の状態で対処が変わる
間違ったbranch(特にmain)で作業してしまった時は、慌てて操作する前に「どの段階まで進んでいるか」を確認します。段階ごとに安全な対処が異なり、間違った対処(特にforce push系)は状況を悪化させます。
| 気づいた段階 | 状態 | 対処 |
|---|---|---|
| 編集しただけ(commit前) | 被害なし | 正しいbranchに切り替えれば変更は持ち越される(stashを使う方法も) |
| commitした(push前) | ローカルの履歴のみ | 正しいbranchを作ってcommitを移す。mainは元に戻す |
| mainにpushした | リモートに反映済み | revert(打ち消しcommit)で戻すのが安全。履歴書き換えは避ける |
| 本番にも反映された | 公開中 | まずrevert+本番の再反映。原因整理は復旧後に |
再発防止は「今いる場所の見える化」と「mainの保護」
branch間違いの根本原因は「今どのbranchにいるか見ていない」ことです。GitHub Desktopなら画面上部に常時表示され、エディタでも画面隅に出ています。作業開始時に一瞥する習慣だけで大半は防げます。仕組みで守るなら、リポジトリ設定のbranch protectionでmainへの直接pushを禁止すれば、間違えようがなくなります。CodexやClaude Codeに作業させる場合も同様で、「作業前に新しいbranchを作る」を指示の定型に含めておけば、AIがmainを直接触る事故を構造的に防げます。