git push --force という禁断のコマンド

引けば他人の作業ごと吹き飛ぶ、禁断のレバー
引けば他人の作業ごと吹き飛ぶ、禁断のレバー

git push には、実は --force というオプションがあります。名前の通り「強制的にプッシュ」するコマンドで、リモートの履歴を自分のローカルの履歴で上書きしてしまいます。

なぜ怖いかというと、他の人がリモートにプッシュした変更が、リモートから消えてしまうから。チームで開発していて誰かが git push --force を実行すると、他のメンバーの作業が巻き戻ります。エンジニアの間では「force pushで本番を吹き飛ばした」という武勇伝(?)は定番の怪談話です。

いつかこのコマンドに出会ったとき、打つ前に一度だけ思い出してください。