【GitHub】ブランチ名をmasterからmainに変更で起きたエラーの解決法

この記事からわかること
- BLM運動とは?
- Gitのブランチを変更する方法
- masterが良くない理由
- mainにした際に起きたエラーの解決法
\ アプリをリリースしました /
BLM運動によるmasterの配慮
GitHubにデフォルトで設定されているブランチ名は「master
」。この英単語の意味が「主人、使いこなす」と言った意味になります。
アメリカで始まった人種差別抗議運動、「Black Lives Matter」(BLM)運動への配慮により、主人と奴隷と意味につながる「master/slave」という言葉を極力使わないようにGitHubも2020年にブランチ名を「main
」に変更するように動き出していたようです。
GitHubのブランチ名を変更する
Gitで操作する中でデフォルトのブランチ名を変更する場合以下のコード実現できます。
このコードはGitの設定部分から変更するので都度変更する手間が省けて便利です。
リポジトリごとに変更するにはブランチの名前を書き換えてあげればOKです。
現在アクティブにしているブランチ名を変更する
ブランチ名を指定して変更
ブランチ名変更でpush時に起きたエラー
ブランチ名を「main
」に変更したせいでpushした際にエラーが発生しました。
このエラーはブランチ名を変えたことでローカルリポジトリのリモート追跡ブランチ(origin/main)と下流ブランチの(main)紐付けが解かれたことによるエラーかなと思います。(違ってたらごめんなさい)
このエラーが出たらつのブランチをマージすることで解決できました。そのままマージしようとするとエラーが起きてしまうのでオプション--allow-unrelated-histories
を指定すると根幹(mainとorigin/main)が異なるブランチでもマージすることができます。
私の場合、「README.md」がコンフリクト(衝突)してしまい自動マージに失敗しました。コンフリクトは2つのブランチをマージした際に同ファイルが別の更新をされていた時にどちらの更新を優先するのか分からず起きてしまいます。
なので生かしたい方の「README.md」をステージング(add)してからコミット→pushしてみると成功しました。
ちなみにオプションなしでマージしようとした場合以下のようなエラーが出ました。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。