主要參考
登錄服務端,所有操作均可在服務器上完成
1. 創建git用戶
[email protected]$sudo adduser git
2. 使用當前用戶創建ssh key
[email protected]$ssh-keygen -t rsa
3. 拷貝公鑰至git家目錄並改名爲git.pub
[email protected]$sudo cp .ssh/id_rsa.pub /home/git/git.pub
4. 切換至git並切至git家目錄
[email protected]$su - git
[email protected]$cd ~
5. 安裝git-core
[email protected]$sudo apt-get install git-core
6. 下載gitolite源碼,如果git://無法下載請換用https://或者http://重試
[email protected]$git clone git://github.com/sitaramc/gitolite gitolite-source
7. 配備相關目錄
[email protected]$mkdir -p ~/bin ~/share/gitolite/conf ~/share/gitolite/hooks
8. 安裝gitolite.安裝之前請仔細閱讀gitolite-source下的install文件
####################################
Simplest use, if $HOME/bin exists and is in $PATH, is:
git clone git://github.com/sitaramc/gitolite
gitolite/install -ln
# now run setup
gitolite setup -pk /path/to/YourName.pub
######################################
因此我們可以直接使用以上命令安裝
[email protected]$./gitolite-source/install
[email protected]$gitolite setup -pk git.pub
至此,配置基本結束
下面開始測試服務是否生效,並創建我們自己的倉庫
1. 切換回自己的用戶
[email protected]$exit
[email protected]$cd ~
2. clone管理倉庫
[email protected]$git clone git@localhost:gitolite-admin.git
3. 添加倉庫用戶,當前待測倉庫爲默認創建的testing
[email protected]$cp user.pub gitolite-admin/keydir
4. 推送及測試是否生效
[email protected]$cd gitolite-admin; git push
5. 使用user.pub的電腦對testing進行clone.注意,當非管理員用戶clone倉庫時,不要在倉庫前添加repositories路徑
原因及解決辦法參考如下鏈接
http://stackoverflow.com/questions/10429201/git-push-origin-denied-by-fallthru-hook-declined-gitolite
stackoverflow.com/questions/10283947/git-gitolite-error-push
http://sitaramc.github.com/gitolite/emergencies.html#ce
http://sitaramc.github.com/gitolite/sts.html#ybpfail
[email protected]$git clone git@localhost:testing.git
6. clone完畢,修改,並推送回倉庫
測試完畢
經測試,倉庫使用者user爲windows或linux用戶時,均沒有問題
更加詳細內容,請參閱文章開頭鏈接和gitolite官方文檔http://sitaramc.github.com/gitolite/admin.html