GitHub においてある master ブランチを削除して、別のブランチを master として置き換えました 。
コミットログを修正する
ローカルのmasterブランチ最新にします。
git pull origin master
GitHub で fork しておくなり、ローカルに master のバックアップをとっておきます。
最新のコミットを消したい場合なので git reset
でコミットを巻き戻します。
git reset --hard HEAD^
masterブランチを削除する
GitHubのmasterを削除します。
git push origin :master
しかし、エラーが発生しました。
git push origin :master
remote: error: refusing to delete the current branch: refs/heads/master
To git@github.com:pugiemonn/pugiemonn.com.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'git@github.com:pugiemonn/pugiemonn.com.git'
上記のようにエラーが生じます。これは、GitHub で default のブランチが master になっていると削除できないようです。
default のブランチは GitHub の画面から変更することができます。「Settings」から Default branch 項目を変更します。
masterブランチを削除します。
git push origin :master
To git@github.com:pugiemonn/pugiemonn.com.git
- [deleted] master
GitHub にアクセスすると master ブランチが削除されています。
ちなみに
コマンドを使用しない場合、ブランチは以下のように GitHub の画面からも削除できます。
新しい master ブランチを push する
ローカルの masterをGitHub へ push します。
git push origin master
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:pugiemonn/pugiemonn.com.git
* [new branch] master -> master
再び、GitHub の「Settings」から Default branch 項目を master に変更します。
masterブランチを消すとプルリクエストがクローズされる
masterブランチを削除すると、masterに対してリクエストされていたプルリクエストがすべてクローズされています。
最初プルリクエストが全部消えた?!と勘違いしました 。
閉じられたブランチを確認する場合は、GitHub の「Pull requests」から Closed 項目を選択します。
上図は#23が閉じられたプルリクエストです。
複数のブランチが閉じられて、GitHub の画面からすぐ見つからない場合は、Recently updatedでソートすると最近クローズされたブランチがすぐ見つかります。
閉じられたプルリクエストをオープンにするには、クローズされたブランチを選択した上で、Mark as から Open を選択します。
master削除前にオープンされていたプルリクエストを、再びオープンにすることができます。
感想
GitHub の master ブランチを削除しました 。
プルリクエストが全部クローズされたのには最初驚きました。ブランチが消えるので当然かもですね。
master を削除するのは本来好ましくなく、プルリクエストベースの開発などにして master を削除しないで済むような運用をするのが望ましいそうです。