GitHub リポジトリの既定ブランチ名が main になるらしい
Twitter の TL で見かけたんだけどさ。
不覚にも3秒位「???」ってなっちゃったYO。
あ゙ー,あれね。 サービス・プロバイダやオープンソースな人たちが挙って「差別用語を狩ろう」っちう “Virtue Signaling” なやつの一環ね。
なんでも
だそうで,何もしなかったら 2020-10-01 以降の新規作成リポジトリの既定ブランチが main
になるらしい。
既存のリポジトリには影響しないし設定画面で既定ブランチをあらかじめ指定しておくことで回避することも可能である(リポジトリ毎に既定ブランチを指定することもできるみたい)。
個人的にはこういう政治広告に巻き込まれたくないんだけど,名前を変えること自体はさしたる手間ではないし,吝かではないといったところか。 強いていうなら CI サービス周りの対応次第かな。
Git リポジトリの既定ブランチ名を指定するには
Git の設定で既定ブランチ名を変更するには,以下のコマンドラインで無問題1。
$ git config --global init.defaultBranch foo
これで $HOME/.config/git/config
(または $HOME/.gitconfig
) ファイルに
[init]
defaultBranch = foo
が追加される。
また git init
コマンドで
$ git init --initial-branch=foo myrepo
とすれば foo
ブランチで初期化してくれるので,そのまま既定ブランチとして使えばよい。
【2020-10-17 追記】 リモートにある Git リポジトリの既定ブランチ名を取得するには
Git の既定ブランチというのは要するに HEAD
が指すブランチなので,リモートにある git リポジトリの既定ブランチ名を(clone しないで)取得するには
$ git ls-remote --symref https://github.com/git/git HEAD
ref: refs/heads/master HEAD
a5fa49ff0a8f3252c6bff49f92b85e7683868f8a HEAD
などとすればいいようだ。
これでリポジトリ https://github.com/git/git
の既定ブランチが master
であることが分かる。
リポジトリ名のみ取り出したければ,たとえば sed コマンドと組み合わせて
$ echo `git ls-remote --symref https://github.com/git/git HEAD | sed -n 's/^ref: refs\/heads\/\(.*\)\s\+HEAD$/\1/p'`
master
とかできるらしい。
ブックマーク
- github/renaming: Guidance for changing the default branch name for GitHub repositories
- GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更 - Publickey
- git clone しないでデフォルトブランチ名を取得する
- GitLabもデフォルトのブランチ名を「master」から「main」に変更へ、5月から - Publickey : 2021-05 から
参考図書
- Virtue Signaling: Essays on Darwinian Politics & Free Speech (English Edition)
- Miller, Geoffrey (著)
- Cambrian Moon 2019-09-17 (Release 2019-09-17)
- Kindle版
- B07Y29NV9P (ASIN)
shorebird さんによる書評はこちら。邦訳版があるなら読んでみたい。
- ちびくろサンボ
- ヘレン・バナーマン (著), フランク・ドビアス (イラスト)
- 径書房 2008-06-16
- 単行本
- 4770501994 (ASIN), 9784770501998 (EAN), 4770501994 (ISBN)
イラスト等原書に近い内容らしい。これは紙のほうがいいかな。
-
既定ブランチ名の指定は git 2.28 から使えるようだ。 ↩︎