Gitでローカルにmainブランチを作らない
直接 main ブランチにコミットしないような運用をしている場合(組織内などで複数人が関わってソフトウェア開発しているような状況で一般的だと思います)、敢えて main ブランチをローカルに作成する必要はないのでは、という話です。
git clone <URI> コマンドを実行すると、main ブランチがチェックアウトされた状態でワーキングディレクトリーが作成されるので、それをそのままにしている人が多いと思います。
しかしよく考えてみてください。ローカルで main ブランチに対して操作することなんて無いのに、作成する必要は無いでしょう。
なまじ存在しているせいで、最新状態と同期取らなきゃ、と考えいちいち
git checkout main
git pull
なんて定期的にやってる人もいるのではないでしょうか。
わざわざ使わないブランチのために古いコードをチェックアウトして最新化する、みたいな往復って無駄の極みですよね。
また実害として(今現在は当時より賢くなっているので再現するかわからないですが)、AIが本来は最新のmainブランチのコードを確認したいときに、ローカルのmainブランチのコードを見に行ってしまう、という問題が時々ありました。
この問題のせいで、余計にローカルmainを定期的に最新化しなきゃ、と考えてしまっている人ももしかしたらいるんじゃないでしょうか。
考え方を変えましょう。ローカルにmainは不要なのだと。
最新のmainの状態が欲しいならリモートトラッキングブランチ origin/main をチェックアウトすればよいのです。
わざわざ古いコードをチェックアウトする必要はありません。
git fetch
git checkout origin/main
なお、既に存在しているmainブランチを削除するには:
git branch -D main
mainブランチが元から存在していないと、mainブランチがある前提で動くプログラムだったりmainブランチを作ろうとしてくるプログラムだったり、お行儀の悪いものが炙り出されるのも良いです。
(gh stackくん…)