- ベアリポジトリ(bare repository) = 作業コピーを含まないリポジトリ
- ノンベアリポジトリ(non-bare repository) = 作業コピーを含むリポジトリ
- ベアリポジトリは集中管理用
- つまり、リモートリポジトリはベア、ローカルリポジトリがノンベアが基本
- ノンベアリポジトリからもcloneすることはできる。
- しかし、ノンベアリポジトリにpushすると通常はエラーになる。
- 作業コピーとインデックスに不整合が生じるためである。
- 下記コマンドを実行すればノンベアリポジトリでもpushを受け付けるようになる。
- SourceTreeの場合、右上の「ターミナル」ボタンでターミナルを開いてコマンドを実行する。
- ただしこれは非推奨である。一人で開発する分にはまあいいけども。
git config receive.denyCurrentBranch ignore
- ベアリポジトリは下記のコマンドで新規作成できる。
- SourceTreeの場合、GUIからは作成できないのでターミナルでコマンドを実行する。
git init --bare
git clone --bare ノンベアリポジトリの場所