Posted at

IntelliJ の GUI から git push -f したい

More than 1 year has passed since last update.

Git で自分のリポジトリの作業ブランチを upstream の master にリベースしたとき、自分のリモートリポジトリにそのまま git push するとはじかれるので、-f をつけますよね。

git push -f origin my-working-branch

でもふだん IntelliJ 系のIDEを使っていると、CLI に行かずに Cmd + Shift + K で出るあの Push Commits ダイアログを使いたい。ショートカットでウインドウ表示、からの、プッシュ前の差分再レビューがすごくいいので。

というわけで、 GUI で push -f したい人は、 Version Control > Git > Allow force push をチェックします。

allow-force-push.png

Push から Force Push を選べるようになります。

force-push.png

-f ありを簡単に行えるのが危険なのはわかってるけど、自分ブランチ+リベース+プルリクエストでチーム開発/OSS貢献やってると、どうしても自分のブランチには -f せざるをえない。なら、typo して「あっ...」ってなる CLI より、視覚化されてるほうがまだ安全なんじゃないかと思うのですね。

それでも、うっかり間違って push -f すると死ねるブランチは、Protected branches に登録しておきましょう。リモート側に強い権限のある人ほど、仕事の割り込みが多くて、ついつい master とか release にいるのを忘れて操作してしまいがちなので。