会社と自宅で作業しているとソースコード同期するに、いちいちサーバーから取ってきてとかっていうのやってたのですが、めんどくさいなと思って折角なのでGitサーバー立てることにした時の覚書。
環境
OS | CentOS5.10 |
---|
目次
- Gitインストール
- クライアントからソースコミット
Gitインストール
yumリポジトリ追加
$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm $ rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
git-daemonインストール
gitは既にインストールされていたのでdaemonのみインストール
$ yum install git-daemon --enablerepo=rpmforge
xinetd設定
gitプロトコルでアクセスした場合に、git-daemonが起動するようにxinetdに設定ファイルを作成する。
$ cp /etc/xinetd.d/git /etc/xinetd.d/git-daemon $ vi /etc/xinetd.d/git-daemon # default: off # description: The git dæmon allows git repositories to be exported using \ # the git:// protocol. service git { disable = no #noに変更 socket_type = stream wait = no user = nobody server = /usr/bin/git-daemon server_args = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose log_on_failure += USERID # xinetd does not enable IPv6 by default flags = IPv6 } $ /etc/rc.d/init.d/xinetd restart #再起動
gitレポジトリ作成
/var/lib/git/の下にgitのレポジトリを作成した。
$ mkdir /var/lib/git/repos $ mkdir /var/lib/git/repos/project.git $ cd /var/lib/git/repos/project.git $ git --bare init --shared Initialized empty shared Git repository in /var/lib/git/repos/project.git/
- –bare:git に対するオプション。管理ファイル等を作成する。
- –shared:init に対するオプション。グループ書きこみ権限を追加する。
git用グループ作成
$ groupadd git $ usermod -G wheel,git suusuke $ chown -R root.git /var/lib/git/
wheelグループから外れないように、wheelも追加する。
クライアントからソースコミット
ローカルリポジトリ作成
$ cd ~/home/project/ $ git init
ローカルリポジトリコミット
$ git add . $ git commit -m "First Commit"
リモートリポジトリの登録
$ git remote add origin ssh://[username]@[servername]:[port]/var/lib/git/repos/project.git
リモートリポジトリへpush
$ git push origin master
参考
gitweb
引用元: CentOS – Git サーバ構築! – mk-mode BLOG.
取り合えず構築した感じなので、後は会社のPCからgit cloneを試してみる。