git:bare
bare repository
サーバに置いて共有するためのリポジトリ。bareリポジトリはワークツリー(開発作業を行う場所)として使うことはできない
リポジトリの公開
サーバ上で公開するためのリポジトリはbareリポジトリとして作成する。
ただ、今はgithubなどリポジトリを公開・共有できるサービスがあるので自分でbareリポジトリを作成する機会は普通はない
bareリポジトリの作成と公開
httpやsshで公開できるが、ここでは単純なsshの方法を示す
サーバにsshして以下のコマンドを実行
mkdir -p /var/git/repo/hoge.git cd /var/git/repo/hoge.git git --bare init
既存のリポジトリから新たにbareリポジトリを作る場合はcloneに--bareオプションをつける
git --bare clone <repository_url>
updateフックを有効にする
bareリポジトリにpushしても反映されない。以下のコマンドを実行すると反映される
git update-server-info
これを毎度手動でやるのは非現実的なのでupdateフックを使うと良い。スクリプトがbareリポジトリの中に用意されている。
cd hooks mv post-update.sample post-update chmod 755 post-update
これでsshで公開・共有できるようになる。
git clone ssh://<user_name>@<host_name>/var/git/repo/hoge.git
git/bare.txt · 最終更新: 2022/07/11 16:09 by nullpon