Step 1,準備
首先,確認你的計算機中裝有Git,python,openssh-server,python-setuptools等軟件。
如果是在ubuntu,命令如下:
Step 2, 生成Key,添加Server
Key的生成
使用命令sshkeygen,按照他的提示,一步一步生成,即可。(一直安回車的話,會生成一個空密碼的key,這個一般情況下會滿足大部分需求)
完畢後會在 ~/.ssh/目錄下生成id_rsa.pub文件。這個是key'的公鑰
安裝gitosis
cd gitosis
python setup.py install
添加Server
創建新的用戶,git
講前兩部生成的id_rsa.pub複製到git的home目錄下,(scp,cp按照情況來)
輸入命令
chmod 755 /home/git
chmod 700 /home/git/.ssh
chmod 644 /home/git/.ssh/authorized_keys
這樣,就會創建一個默認的gitosis-admin.git版本庫
Step 3,管理git服務器
使用客戶端的機器,也就是剛纔生成key的機器
就會創建出一個版本庫,叫做gitosis-admin
其中有個gitosis.conf 文件,和keydir目錄
conf文件是配置文件,可以配置用戶的權限,keydir目錄是用戶的公鑰存放的目錄,以 用戶名.pub 的形式存下來
添加一個新用戶:
講新用戶的pub key放入keydir中,命名爲XXX.pub,在conf中進行配置
講其添加到之前的一個項目組中,或新建個組
添加一個新項目
1、在writeable中添加項目名稱
2、在本地初始化項目,示例如下
mkdir myNewProject
cd myNewProject
git init
git remote add origin git@someServer.com:myNewProject.git
git commit -a -m "This is my initial commit for myNewProject"
git push origin master:refs/heads/master