理工系研究者のための Mac OS X, Windows, Linux メモ
 
ホーム >> プログラミング >> Git Tips >> ベアリポジトリについて
このエントリーをはてなブックマークに追加

ベアリポジトリについて - Git

作成日:2014.4.21

Gitにはリポジトリにベアリポジトリ(Bare repository)とノンベアリポジトリ(Non bare repository)がある。 ベアリポジトリには,作業用のファイルが含まれず,管理用のファイルのみになっている。 ベアファイルは主にサーバーに配置し,cloneされる側のリポジトリとして利用される。 ベアファイルは,大雑把に言ってノンベアリポジトリの中のrepository/.gitを取り出した(裸にした)ものに相当するので,ベアリポジトリと呼ばれているようだ。

ベアリポジトリを新規作成する

ベアリポジトリを作成するには--bareオプションを付ければよい。

$ mkdir somerepo.git
$ cd somerepo.git/
$ git init --bare
$ ls
HEAD  branches  config  description  hooks  info  objects  refs
ベアリポジトリにはリポジトリフォルダ名に.gitを付ける慣習があるそうなので,ここでもそれに従う。

既存のリポジトリからベアリポジトリを作成する

すでに存在するリポジトリから,ベアリポジトリを作成するにはcloneにオプション--bareを付ければよい。

$ git clone --bare somerepo anotherrepo.git

receive-packを有効にする

ベアリポジトリに対してpushできるようにするために,receive-packとよばれる設定を有効にしておく必要がある。 有効にする方法は次の通り。

$ cd somerepo.git/
$ git config http.receivepack true
somerepo.git/configに次のように追記されている。
...
[http]
        receivepack = true