首先自套件庫安裝 python-setuptools。
sudo aptitude install python-setuptools
然後自 eagain.net 下載 gitosis 的程式碼。
git clone git://eagain.net/gitosis.git
接著將下載回來的 gitosis 搬移到 /opt 目錄,再到該目錄執行安裝動作。
sudo mv gitosis/ /opt/
cd /opt/gitosis/
sudo python setup.py install
安裝完畢後。接著建立一個使用者 git 以存取 repository。
sudo adduser --system --shell /bin/sh \
--gecos 'git version control' --group \
--disabled-password --home /home/git git
接著以平時使用的帳號產生一組 SSH 的 key。
ssh-keygen -t rsa
再使用這個 SSH key 初始化 Git Server。
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
接著透過 git 下載 gitosis-admin.git。
git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git
進入下載回來的 gitosis-admin 目錄後,會有一個 gitosis.conf 檔案和一個 keydir 目錄,其中要新增存取 git server 的使用者時,將 SSH key 添加到 keydir 目錄;而 gitosis.conf 則可以用來建立專案。
例如修改 gitosis.conf,添加一個叫 hello 的專案。
--- old/gitosis.conf 2010-08-12 23:08:13.684510792 +0800
+++ new/gitosis.conf 2010-08-12 23:10:55.504778775 +0800
@@ -4,3 +4,7 @@
writable = gitosis-admin
members = online@local
+[group]
+writable = hello
+members = online@local
接著將它送回 git repository,
git commit -a -m "Added a new project \"hello\""
git push
然後就可以開始建立 hello 這個專案了。
mkdir hello
cd hello/
git init
touch README
git add .
git commit -a -m 'Initial import'
git remote add origin git@YOUR_SERVER_HOSTNAME:hello.git
git push origin master
沒有留言:
張貼留言