はじめに
昨日投稿した以下の記事で「そのうち書こうかな」と言っていたやつです。
gitのデフォルトブランチ名を変えたのに、なぜかgit init
してもブランチがmasterで作成されて困ったという話。
原因
gitのバージョンが古いことが原因でした。恥ずかしい。
どうもconfigでdefaultbranchの名前を変えられる昨日は、バージョン2.28から追加されたようです。
自分のgitのバージョンを調べてみたところ、見事に古いバージョンのものでした。
gitのバージョンを調べるコマンドは以下のとおり。
git version
#gitのバージョンが表示されます
git version 2.XX.X
解決方法
gitの更新
リポジトリをOSに追加する方法でgitをインストールしてた人は多分apt update
apt upgrade
で更新できてたと思うけど、自分はなぜかgitのリポジトリが追加されてなかった(多分直接ファイルダウンロードでもしてたのかな)ので、新しくリポジトリを追加してからパッケージを更新する。
add-apt-repository ppa:git-core/ppa
apt update
apt upgrade
これだけです。
この後gitのバージョンを確認してみると、しっかりgit version 2.34.1
に更新されていました。
これでちゃんとinit
したときのデフォルトブランチ名が変更されるはず。
init時のデフォルトブランチ名を変える
情報をまとめるついでにconfigを変える方法も書いておきます。
gitのconfigには以下の3つのスコープがあるもよう。
- system: システム全体に適用
/etc/gitconfig
- global: ログインユーザに適用
home/.gitconfig
- local: gitリポジトリごとに適用
{workspace}/.git/config
これらは上から順に読み込まれます。つまり、特定のリポジトリで作業をする際は、localに記述した内容が最優先されます。
今回はとりあえずgit init
で新規作成する際のブランチ名を変えたいので、globalのconfigに記述を加えます。
記述はコマンドラインから以下のように打ち込めばok。
git config --global init.defaultBranch {default branch name}
#例えばmainに変更したい場合は
git config --global init.defaultBranch main
#systemレベルで変更したい場合は
git config --system init.defaultBranch {default branch name}
#sudo必要かも
コマンドではなく直接エディタで編集したい場合は、ファイルマネージャでそれぞれのconfigを確認すればいい。
かんたーーーん!!
とりあえずgithubのデフォルトがmainだし、人権問題とかでmasterが復権することは(特に海外では)望めなさそうなので、デフォルトブランチ名はmainに変えておくのがよろしいかな。
おわりに
gitの更新忘れというなんとも粗末な原因で余計な手間と時間を消費してしまった。
やっぱりサービス提供者の発表した重要な更新にはしっかり対応しないとまずそう。
というかせっかく登録したサービスなんだからこまめに使っていかないと、事故に蓄積した情報や技術がいつの間にか陳腐化してしまうから、そのあたり意識変えないといけない。
qiitaももっと活用しなきゃ。