Git clone –bare とは
git clone --bare は、Git リポジトリをベアリポジトリ(bare repository)としてクローンするコマンドです。
通常のクローンとの違い
通常の git clone:
- ワーキングディレクトリ(作業ディレクトリ)が作成される
- .git フォルダ内に Git の管理データが格納される
- ファイルを直接編集・操作できる
git clone --bare:
- ワーキングディレクトリが作成されない
- リポジトリ全体が Git の管理データのみで構成される
- ファイルの直接編集はできない
主な用途
サーバー用リポジトリの作成
- 他の開発者が push/pull するための中央リポジトリとして使用
- GitHub や GitLab のようなリモートリポジトリの役割
バックアップ: リポジトリの完全なバックアップを作成
ミラーリング: 別の場所にリポジトリの複製を作成
使用例
ベアリポジトリとしてクローン
git clone --bare https://github.com/user/repo.git repo.git
通常のリポジトリからベアリポジトリを作成
git clone --bare /path/to/local/repo repo.git
ベアリポジトリは通常 .git 拡張子を付けて命名することが慣例となっています。
bare + worktree の地味な罠
bare は .git だけの倉庫だから、普通の clone みたいに「自動で追跡ブランチが更新される」みたいな挙動にならない
だから最初に一回:
git fetch origin --prune
しておくのおすすめ。 これやっとくと、以降 worktree 切るのめっちゃ楽。