【Github】デフォルトのブランチを変更・削除する方法|エラー対処法:! [remote rejected] refusing to delete the current branch

github-prograshi(プロぐらし)-kv git/github
記事内に広告が含まれていることがあります。

Githubでmasterやmainなど(あるいは1番最初)のブランチをプッシュして削除しようとすると、次のようなエラーが発生します。

エラー内容
$ git push -f origin :dev
To https://github.com/user/test.git
 ! [remote rejected] dev (refusing to delete the current branch: refs/heads/dev)     
error: failed to push some refs to 'https://github.com/user/test.git'  

fオプションによる強制プッシュも効きません。

このエラーの原因と対処法について解説しています。


エラーの原因

エラーの原因は指定したブランチがGithubでデフォルトのブランチに設定されているためです。

デフォルトのブランチを他のブランチに変更すれば、削除することができます。

デフォルトブランチの例

デフォルトブランチはGithubでブランチ名のプルダウンをクリックすると確認することができます。


対処法|デフォルトブランチの変更

デフォルトブランチの設定は「Settings」タブの「Branches」で行います。


矢印アイコンをクリックして、表示されたウィンドウでデフォルトに設定したいブランチを選択します。


Updateをクリックすると確認画面が表示されるので、「I understand, update the default branch.(理解しました)」をクリックすれば完了です。

確認項目の内容

Changing your default branch can have unintended consequences that can affect new pull requests and clones.

(翻訳)デフォルトブランチの変更によりプルリクやクローンで予期せぬ影響が発生することがあります。

実害としては、削除対象のブランチに対して出しているプルリクが全てクローズになります。(Closedの一覧で確認できます)


デフォルトブランチが切り替わりました。


リモートブランチの削除

Githubのデフォルトブランチの設定が終わったので、再度リモートブランチを削除するコマンドを実行します。

$ git push origin :dev
To https://github.com/user/test.git
 - [deleted]         dev

エラーが発生せず削除することができました。

タイトルとURLをコピーしました