- Ubuntu 12.04
- git version 1.7.9.5
- gitolite v3.x.
- sudo apt-get install git
- sudo adduser --system git --shell "/bin/bash" #建立單獨帳號來安裝及管理gitolite,此帳號不要可以ssh登入,避免安全問題
- su git # 切換成 git 權限,以下步驟皆使用git帳號完成
- mkdir $HOME/.ssh
- ssh-keygen -t rsa #建立git的ssh public/private key
- git clone git://github.com/sitaramc/gitolite
- mkdir -p $HOME/bin
- cd gitolite
- gitolite/install -to $HOME/bin
- export PATH=$PATH:$HOME/bin #將bin加到PATH中才能夠順利安裝成功
- gitolite setup -pk git.pub #git.pub為步驟3.所產生之public key
管理教學:
# 第一次安裝完成後
- mkdir $HOME/wrodstation
- git clone git@host:gitolite-admin
之後的帳號管理、資料新增/刪除皆是在此gitolite-admin.git資料夾內完成,才commit到repository
# 建立使用者帳號(使用git帳號)
- client
- cd $HOME
- mkdir .ssh
- ssh-keygen -t rsa
- ssh-add #ssh連線出現Agent admitted failure to sign using the key解法
- send the user.pub to git server
- server
- mv user.pub $HOME/git/workstation/gitolite-admin/keydir
- chown git user.pub
- git add keydir/user.pub
- git commit -m 'add user.pub'
- git push
- client連線測試
git clone git@host:testing #因為是認#HOME/.ssh/private key所以若出現git@host password: 就是代表帳號並沒有成功建立
user@localhost:~/testing$ git pull
sudo chown user .git #出現error: can't open .git/FETCH_HEAD: Permission denied的解法
#刪除使用者帳號
- git rm keydir/user.pub
- git commit -m 'remover user.pub'
- git push
- client
- git clone git@host : repo_name
- cd repo_name
- 編輯程式
- git add .
- git commit -m 'comment'
- git push origin master
- git status #確認目前git狀態
- server
- cd $HOME/git/workstation/gitolite-admin/conf
- vi gitolite.conf
- repo repo_name ...
- git add .
- git commit -m 'commnet'
- git push
參考
沒有留言:
張貼留言