CentOS5.3にgitをインストールします。
git本家からyumの設定を持ってくる
# wget http://kernel.org/pub/software/scm/git/RPMS/git.repo -O /etc/yum.repos.d/git.repo # yum install git
んが、以下のエラー。
http://www.kernel.org/pub/software/scm/git/RPMS/x86_64/repodata/primary.xml.gz: [Errno -3] Error performing checksum Trying other mirror. Error: failure: repodata/primary.xml.gz from git: [Errno 256] No more mirrors to try.
仕方ないので消しました。
# rm -f /etc/yum.repos.d/git.repo
ソースで入れてみる。
# wget http://kernel.org/pub/software/scm/git/git-1.6.5.2.tar.bz2 # tar jxvf git-1.6.5.2.tar.bz2 # cd git-1.6.5.2 # ./configure # make # make install
できました。
リポジトリを作ってみる。
ローカルマシンからアクセスする公開リポジトリを作ってみます。
git用のユーザを作成
# mkdir -p /var/shared/git/.ssh # useradd -d /var/shared/git git # touch /var/shared/git/.ssh/authorized_keys # chown -R git:git /var/shared/git # chmod -R 600 /var/shared/git/.ssh
ローカルからアクセスするユーザの公開鍵を登録
# cat users_id_rsa.pub >> /var/shared/git/.ssh/authorized_keys
リポジトリ作成
/var/shared/git配下にsandobox.gitを作成してみます。
# cd /var/shared/git # mkdir sandbox.git # chown git:git sandbox.git # cd sandbox.git # git init --bare --shared=true
最初のファイルをpushしておく
空のリポジトリをcloneすると以下のメッセージが出力されてclone出来ませんでした。
fatal: no matching remote head
そこで、適当なディレクトリで最初のファイルを作成してcommitします。
$ cd ~ $ mkdir -p git/sandbox $ cd git/sandbox $ touch README $ git init $ git remote add origin /var/shared/git/sandbox.git $ git add README $ git commit -m 'first commit' $ git push origin master
クライアントマシンからcloneしてみる
たとえば、MacOS Xから以下のようにcloneします。
$ git clone git@example.com:sandbox.git
うまくいけば、秘密鍵のパスフレーズ入力後(あれば)cloneが作成されます。