Ubuntuで最新のgit
git のデフォルトブランチをmainに
github.comがデフォルトのブランチを main
に 切り替えてからずいぶん時間がたった。自分の手元の環境もデフォルトを main
にしたつもりがなぜか master
になってしまうという問題を抱えていた。
設定変更
以下のコマンドで設定できる。
git config --global init.defaultBranch main
git config
で確認
$ git config --list | grep defaultbranch
init.defaultbranch=main
設定ファイル自体も確認
$ cat ~/.gitconfig | grep defaultBranch -n1
25-[init]
26: defaultBranch = main
良さそう。
しかし、git init
してみるとまだ master
になってしまう。
git init するときに main 指定してみる
--initial-branch
というオプションがあるらしい。
$ git init --initial-branch main
打ってみると、以下のようにエラーになる。というか、オプションが存在しない模様。
$ git init --initial-branch main
error: unknown option `initial-branch'
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]
--template <template-directory>
directory from which templates will be used
--bare create a bare repository
--shared[=<permissions>]
specify that the git repository is to be shared amongst several users
-q, --quiet be quiet
--separate-git-dir <gitdir>
separate git dir from working tree
調べてみると --initial-branch
オプションは 2.28 以降の機能らしい。
手元のgit古いわ
自分の環境見てみると、2.17でした。耳障り的にはめっちゃくちゃ新しい感じするけど(老人)、古い。
$ git version
git version 2.17.1
新しい git 入れる
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt update
$ sudo apt upgrade git
新しくなりました
$ git version
git version 2.40.0
git init
すると、
~/repos/foo:$ git init
Initialized empty Git repository in /home/user/repos/foo/.git/
~/repos/foo:main$
無事 main になった。