ksaitoの日記

日々試したことの覚え書き

gitの公開リポジトリを作る手順

移転しました。

自動的にリダイレクトします。

複数の環境からアクセスするgitリポジトリを作る手順です。

ベースのリポジトリを作成する

公開するためのベースとなるgitリポジトリを作成します。

$ git init git
Initialized empty Git repository in /tmp/git/.git/
$ cd git
$ touch file
$ git add file
$ git commit -m "init"
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file
$ 

公開用リポジトリを作成する

公開用のリポジトリは、--bareオプションで作成します。
作成先ディレクトリにssh://形式でリモートサーバを指定できれば良いのですが、ローカルディレクトリしか指定できないみたいです。

$ ls 
git
$ git clone --bare git git.bare
Cloning into bare repository git.bare...
done.
$ ls git.bare
HEAD		config		hooks		objects		refs
branches	description	info		packed-refs
$

rsyncで公開リポジトリをリモートにコピーする

rsyncのソースは、"/"を忘れずに。
この手順は、正直面倒です。

$ rsync -az -e ssh git.bare/ ssh://git@git.local/var/git.repo/git.git
$

公開リポジトリをcloneする

あとは、いろんなマシンにcloneしてpush/pullします。

$ rm -rf git
$ git clone ssh://git@git.local/var/git.repo/git.git
Cloning into git...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ ls git
file
$