Help us understand the problem. What is going on with this article?

GitHubのmasterブランチを削除して、masterを置き換えた (^o^;)

More than 1 year has passed since last update.

GitHub においてある master ブランチを削除して、別のブランチを master として置き換えました :cold_sweat:

コミットログを修正する

ローカルの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 項目を変更します。

github-defualt-branch.png
上記のようなセレクトメニューをmaster以外にします。

masterブランチを削除します。

git push origin :master
To git@github.com:pugiemonn/pugiemonn.com.git
 - [deleted]         master

GitHub にアクセスすると master ブランチが削除されています。

ちなみに

コマンドを使用しない場合、ブランチは以下のように GitHub の画面からも削除できます。
delete-master-branch.png

新しい 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 に変更します。
select-master-branch.png

masterブランチを消すとプルリクエストがクローズされる

masterブランチを削除すると、masterに対してリクエストされていたプルリクエストがすべてクローズされています。

最初プルリクエストが全部消えた?!と勘違いしました :sweat_smile:

閉じられたブランチを確認する場合は、GitHub の「Pull requests」から Closed 項目を選択します。
closed-branch.png

上図は#23が閉じられたプルリクエストです。

複数のブランチが閉じられて、GitHub の画面からすぐ見つからない場合は、Recently updatedでソートすると最近クローズされたブランチがすぐ見つかります。

Recently-updated-branches.png

閉じられたプルリクエストをオープンにするには、クローズされたブランチを選択した上で、Mark as から Open を選択します。
open-closed-branches.png

master削除前にオープンされていたプルリクエストを、再びオープンにすることができます。

感想

GitHub の master ブランチを削除しました :scream:

プルリクエストが全部クローズされたのには最初驚きました。ブランチが消えるので当然かもですね。

master を削除するのは本来好ましくなく、プルリクエストベースの開発などにして master を削除しないで済むような運用をするのが望ましいそうです。

pugiemonn
GoogleTagManagerを利用してGAを操るようなマーケターとしてお仕事しています(☝ ՞ਊ ՞)
pugiemonn_com
pugiemonn.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした