Gitの普通のリポジトリとベアリポジトリの違いについて
Gitでリポジトリを作成する場合は以下の二種類がある。
git init
git init --bare
で、ベアリポジトリってのは、ワークツリーを持たないリポジトリだけで構成されたリポジトリ*1ってことなんですが、じゃあ、普通に作ったリポジトリと何が違うの?っていう素朴な疑問があった。
結果
で、調べてみた結果、大きな違いはたった一つだけだった。*2
[core] bare = false
がtrueかfalseかの違いのみだった。bare = true になっているとワーキングツリーを持てないってこと以外は本当にほぼ一緒のよだ。その証拠にgit cloneなどもきちんとできるみたい。
ものすごくシンプルな設計だなぁとまた一つ感心した。