18
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git v2.28でデフォルトブランチをmainに変更する

Posted at

ご存知の方も多いと思いますが、2020年10月1日よりGitHubではプロジェクト作成時点でのデフォルトのブランチ名が master から main に変更されました。
また、7月27日にリリースされた git バージョン 2.28 からはデフォルトブランチの変更オプションが実装されているので、これにより main ブランチに対応できるようになっています。
本記事ではこちらの設定手順についてご説明します。

TL;DR

  • git 2.28 (GitHubの変更時点での最新版) ではデフォルトブランチはmasterのままである
  • デフォルトブランチを変えるには、まずgitを 2.28 に更新する
  • その後 git config --global init.defaultBranch main をCLIで実行するか .gitconfig を変更すれば対応完了

変更の背景

Git関連の複数のコミュニティではGitのデフォルトブランチ名 master について変更すべきではという議論があります。詳しくはここで語りませんが、もともと業界では master/slave といった用語が一般的に使われていて、この言葉のニュアンス(master:主人 slave:奴隷)が差別的だから変えようという流れがあり、GitHubとgitもそれぞれの方法で対応を行った形となります。

対応方法

前述の通りGitHubでは10月1日よりプロジェクトのデフォルトブランチを master から main に変更しており、gitそのものもmasterブランチがデフォルトしてハードコードされてはいるものの、 7月27日のバージョン2.28から init.defaultBranch というオプションを追加することによって対応できるようになりました。

対応方法についてはブランチ名変更について記載しているGitHubの資料でも触れられています。

(中略)
Git 2.28 added a similar setting to control the default branch used when you run git init on the command line. Learn more about the new init.defaultBranch setting in the Git 2.28 blog post.

init. defaultBranch オプションでデフォルトブランチを変更できるということで、以下のコマンドを実行することで対応できます(全く同じコマンドがGit 2.28 のブログポストにも記載されています)

git config --global init.defaultBranch main

またはグローバルの .gitconfig に以下を追記しても対応できます。
個人的に設定を管理されている方はこちらのほうが便利かと思います。

[init]
    defaultBranch = main

まとめ

今回はGitHubがプロジェクトデフォルトのブランチ名の変更したということで、git側での対応方法について記載しました。
ただ現時点ではBitbucketではデフォルトのリポジトリ名は master のままですし、ベンダーによって対応が変わってくるので一概にプロジェクトデフォルトを main に合わせていくのがが正解とは言えず、会社の判断やそれぞれの環境に合わせて適切な設定をしていくのが良いかと思われます。

18
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?