おはようございます、YASUです。
普段はClaude Codeがコミットもpushも全部自動でやってくれるので、正直Gitの基本操作を一からやる機会はめっきり減っていました。でも「ツールに任せているだけで、実は仕組みをちゃんと理解できていないのでは」とふと不安になり、技術書を片手に、まっさらな状態からGitを触り直してみました。今日はその過程で、実際にハマったポイントも含めてシェアします。
結論
フォルダを作って git init するだけの単純な作業のはずが、「デフォルトブランチ名の設定をしたのに、なぜか反映されない」という、地味だけど本質的なハマりポイントに遭遇しました。原因は「設定するタイミング」にありました。
まずは、まっさらな練習フォルダから
普段使っているプロジェクトフォルダとは別に、本の通りに再現するための専用フォルダを新しく用意しました。
cd ~
mkdir zukai_git
cd zukai_git
git init
ここまでは、以前のステージング練習と同じ流れです。Initialized empty Git repository の表示を見て、まずは一安心。
本の通りに、サンプルのディレクトリ構成を再現する
本にはこんな構成図が載っていました。
zukai_git/
├ css/
├ images/
├ activity.html
└ index.html
これをコマンドで再現します。
mkdir css images
touch index.html activity.html
ls -aで確認すると、本の紙面とほぼ同じ並び(.git、css、images、activity.html、index.html)が表示され、ここは特に問題なくクリアできました。
設定確認で見つけた、意外な副産物
git config --global --list
ユーザー名・メールアドレスの確認ついでにこれを打ったところ、以前設定した記憶のない secrets.* という項目がずらっと出てきました。調べてみると、AWSのアクセスキーなどをうっかりコミットしてしまわないよう検知してくれるgit-secretsというツールの設定でした。過去にTerraformやAWSを触っていた時に、自分で入れていたようです。すっかり忘れていましたが、事故予防の仕組みがちゃんと働いていたのは地味に嬉しい発見でした。
VS Codeをエディタに設定する
git config set --global core.editor "code --wait"
コミットメッセージ入力時に開くエディタを、デフォルトのVimではなく使い慣れたVS Codeに変更する設定です。普段-m "メッセージ"で済ませているので今すぐ使う場面はありませんが、いざという時に不慣れなVimで詰まらないための備えです。
本題:デフォルトブランチ名を main にする、はずが
git config set --global init.defaultBranch main
Gitのデフォルトブランチ名は元々「master」ですが、人種差別を想起させる用語を避ける流れやGitHubの仕様変更もあり、今は「main」に変更するのが一般的です。この設定をしておけば、今後 git init するリポジトリは自動的に「main」から始まるはず、と思っていました。
ところが、テスト用ファイルを作ってコミットしてみると
touch test.txt
git add test.txt
git commit -m "テスト用ファイル追加"
git branch
* master
あれ、mainになっていない。設定したはずなのに。
原因は「設定するタイミング」だった
調べて(というか本を読み返して)分かったのですが、init.defaultBranchの設定は、設定した「後」に新しくgit initしたリポジトリにだけ効く仕組みでした。
今回のzukai_gitフォルダは、実はこの設定をする前にすでにgit initを済ませていたので、「masterがデフォルト」という情報がその時点でリポジトリに刻まれてしまっていたんです。
1. git init(この時点ではmasterがデフォルトのまま)
2. (このあとで) init.defaultBranch main を設定
3. git commit → 結果はmasterのまま(1の時点の設定が使われる)
「設定したのに反映されない」というのは、大抵こういう「順番のズレ」が原因だったりします。焦って設定を疑う前に、まず「いつ設定したか」を確認する癖をつけておくと良さそうです。
後からブランチ名だけ変更する
幸い、既存のリポジトリのブランチ名だけを後から変更するコマンドも本に載っていました。
git branch -m main
git branch
* main
無事mainに変わりました。設定のタイミングがズレていても、こうやって後から修正できる、というのも一つの学びでした。
まとめ
- フォルダ作成→初期化→設定確認→エディタ設定→デフォルトブランチ名変更、という一連の流れを実際に手を動かして再現した
init.defaultBranchの設定は、設定した後に作るリポジトリにだけ効く。既存のリポジトリには反映されない- 「設定したのに反映されない」時は、まず設定したタイミングを疑ってみる
- 既存リポジトリのブランチ名は
git branch -m mainで後から変更できる
普段Claude Codeにお任せしている作業も、たまにこうして手で追い直すと、ツールが裏で何をしてくれているかの解像度が上がる気がします。それでは、また明日!

コメント