developに誤pushしちまった!git revertでリカバリー!!

developに誤pushしちまった!git revertでリカバリー!!

公開: 2025年11月29日

Tips
要約
  • 今月、誤ってdevelopブランチに2回pushしてしまった。
  • 1回目は少ない差分で問題なくリカバリーできたが、2回目はCIのパフォーマンス改善のためリカバリーが必要だった。
  • git revertを使って誤ったコミットを打ち消し、最終的には報告も受け入れられた。
音声で記事を再生

はじめに

ぎゃぁぁぁぁってことを、今月は2回やらかしました。
自分が今作業しているブランチがdevelopではなく、作業用ブランチを切っているものと思い込んでいて、そのままpushしてしまって😭

通常PR作ってpushしても何も起きないのに、developにコミット追加されるとslackに通知がくるんですよね。
ただpushしただけなのに「ピコーン!!!」通知きて、誰やと思ったら私やん!!!!
やっちゃった!!うわここdevelopやん!!ぎゃぁぁぁぁ!!!!!!ミスったぁぁぁ!!!!ごめんなさいぃぃ!!!!

どうリカバリーしたか紹介してみます。

今月2回やってる

1回目

QAの対応の時でした。この時は原因調査さえしてしまえば作業自体は少なかったんです。

差分1行で条件分岐を追加したのみ、かつスクショ動画で共有してOKもらってたので、「差分これだけなのでもうこのままでいいですか?」って聞いたら「いいっすよ!!!マージっしちゃいましょう!」でした(神)。

通知きたから私が直pushしてることもバレててw
即突っ込まれましたね。

developに誤pushしちゃった!即 git revert でリカバリー!!|ShiftBブログ

なので、CI落ちないことだけ見つつ何もしなかったのですが。

2回目

昨日はCIのパフォーマンス改善で、CIの速度を見ていたのでそのままというわけにはいかない差分でした。(案の定落ちたし)

またpushした瞬間slack通知が来てやってしまったぁぁぁ!!!!!って絶望しましたw

そしてこれはそのままにしててはいけないパターンと思ったので、即通知のスレッドに「間違えました」と書いてリカバリー作業に入りました!

developに誤pushしちゃった!即 git revert でリカバリー!!|ShiftBブログ

(この顔文字、超お気に入りです☺️)
意図してやったわけでないことをみてわかるようにw

git revert

特定のコミットを打ち消す新しいコミットを作成するgitコマンドです。

A → Bという差分があったとして、そのコミットハッシュを確認したら

git revert <hash>

とするとB → Aのコミットの作成をすることができます。

時間が経つとコンフリのリスクがありますが、私は修正も小さく明解で即リカバリーに入ったのでコンフリすることはありませんでした。

ポイント

  • 時間が経つとコンフリクトが起きる可能性がある

  • 誤 push に気づいて即リカバリーに入ったので問題なし

  • 差分も明確だったので安全に戻せた

私は差分の内容、誤push先が本番環境ではないこと、誤pushから3分程度しか経過していないことから誰かがこの差分をローカル環境に反映している可能性は極めて低いことから問題ないと判断してrevert commitもdevelopに直接pushしました。(非推奨)

本来はこのrevert作業もPRベースで戻すべきです。

私のやった作業

// developで作業する(非推奨)
git checkout develop

// リモートリポジトリの内容を反映
git pull origin develop

// 特定のコミットの内容を打ち消すコミット作成
// 場合によってはコンフリする
git revert <hash>

// 打ち消す内容をコミットをpush
git push origin develop

こんな流れです!!!

推奨はこっち

// (推奨) 作業ブランチを切る
git checkout -b revert/develop-fix

git pull origin develop
git revert <hash>

// PRとして提出(推奨)
git push origin revert/develop-fix

commit hashの確認方法

ターミナルでも確認できますが、githubでコピーできるボタンがあるので、そこでやるのが安全でわかりやすいと思います。

developに誤pushしちゃった!即 git revert でリカバリー!!|ShiftBブログ

ここの右下のところにハッシュいます!!

最後に報告

ミスってdevelopにpushしたことと、revertしたことだけ報告しました!
「報告ありがとうございますw全然大丈夫です」とのことでした!

おわりに

見ての通り私は基本的にポンコツです。
人間ミスるのは仕方ないことなので、ミスった時になるべく早くミスを認識してどうリカバリーするかが大事だと思います。

バグあるものを作るのも仕方ないけど、バグに気づいたら即修正しきる技術力の方が重宝されるって言われたこともあったような。

今回の内容はそんな難しいことではないのですが現場っぽい内容かなと思ったのと、私のやらかしエピソードも共有しておこうと思って書いてみました!
現場入りたての方の参考になれば嬉しいです!!!

シェア!

XThreads
ShiftB Logo
user
吉本茜
山口在住/二児の母/エンジニア
Loading...
記事一覧に戻る
XThreads
0