初心者がGit Pushをミスってパニクったときの話

慣れてきたときが一番危ないっていいますよね。

金曜日の夕方、こんなの簡単だよ~とドヤ顔でソースをちょちょっと直して、ろくに確認もせずにコミット→プッシュ→評価環境にデプロイ。

$ git commit -m "こんなの5秒だよ"
$ git push

$ npm run deploy

デプロイ成功は確認して、「確認よろしく~」とそのまま帰宅。


週明けの月曜日、画面が真っ白ですと報告を受けて僕の頭も真っ白に……。

みんななにしたの?

ええ、そうです、僕が言われたセリフではありません。

僕が言ったセリフです。

今思い返すとめちゃめちゃ恥ずかしい……笑。

あらため最新ソースを見返してみると、どう考えても僕のコミットが悪さしているようにしか思えません。ただ、幸いにもまだそのことにみんな気がついていません。

僕はなに食わぬ顔で席を立ち、トイレで一呼吸置くことにしました。

さて、どうにかしてこの事実を隠蔽したい。どうするか?

「Git Push 取り消し」で検索してみる

するとまず、取り消したいコミットIDなるものを特定しろとのこと。

とりあえずやってみます。

$ git log --oneline

99xxzz00 modify index.html
0011223 add file
1234abc Initial commit
aabbccd fix bugs

おそらく、コメントの頭についているやつが「コミットID」。

これを消せばOK。

で、肝心の消し方がこちら。

$ git revert コミットID

該当コミットがリポジトリから消えた!

これをPushすれば証拠隠滅だぜ!!

結果:証拠隠滅はできませんでした

なぜならrevertしたというログがしっかりと残るんですね……。

さらに調べてみると、他にもやり方がいろいろあって、その中には証拠隠滅を図れる素晴らしい方法もあるようですが、初心者には高難易度すぎて断念しました。

ナニ イッテルカ ワカラナイ ヨ……。

トライしてみて万が一失敗した場合、もう目も当てられませんしね。

過去の過ちは素直に受け入れて、前を向いて生きていくことが大切だと改めて教えられた出来事でした。

あと、勝手に評価環境にデプロイするのもやめました。

自分の無知さ未熟さを認めて、戒めとしてここに記しておきます。