おおくまねこ

職業プログラマーです。興味のある話題を書いています。

Intellij IDEA の GUI から force push したい

JetBrain IDE から remote branch に対して force push をするための方法について
git push -f 相当をしたい場合です。
どこかに書くほどではないのですが、最初わからず彷徨っていたので備忘録も兼ねて記載します。

環境については以下

以下の記事で設定変更をする方法が説明されているのですが、現行(2022現在)では設定変更は不要です。

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

local branch でamend commitrebaseを行った際、
remote branch と差が出てしまい、デフォルトの設定のままでは push しても失敗します。

※2種類の矢印で差分があることがわかる。rebase や merge をして push しても、reject される。

この対処方法として、コマンドラインから Git を使う場合は、git push -f で強制 Push する方法がありますが、
JetBrain IDE では Push するときに「Force Push」を選択して実行することが可能です。

Commnad + Shift + K で Push ダイアログを表示。
「Push」ボタンの右下のプルダウンから「Force Push」を選択し、強制Pushを行うことが可能。

追記:

masterへの force push はデフォルト設定では無効になっています。

もし master へ force push したい場合は設定変更が必要になります。

(業務ではほぼないと思いますが)

[Preference]から設定ダイアログを開き、[Version Controle]->[Git]で設定。

[Push] の[Protected branches]の設定を変更。

保護するブランチ名を変更、もしくは空白にします。