git和repo環境搭建
cd ~/src git clone git://eagain.net/gitosis.git
Or try “git clone https://github.com/tv42/gitosis.git”
cd gitosis/ python setup.py install –prefix=$HOME cd
因為Git本身沒有用戶和權限管理的部分,多人協作開發必然涉及,用戶管理和目錄、文件權限的管理。目前實行的方式有如下兩種。
第一種: 采用操作系統的用戶和權限進行管理。
優點: 配置簡單,只需要共享系統賬號就可以了
缺點: 團隊人員很多時維護麻煩
第二種:采用ssh進行用戶管理只需要共用一個系統賬號,其他用戶通過公匙進行驗證。權限通過第三方的gitosis或者gitolite進行管理。
gitolite是用Perl對gitosis的重寫。
gitolite的功能:
只需要一個真實的系統用戶
提供多用戶訪問git(不需要建真實的系統用戶沒有shell權限)
可以控制多個git庫repo級別的讀控制和branch/tag/file/directory的寫控制,包括回退、新建、刪除分支和tag的權限。
可以不用root用戶安裝
通常是使用sshd,你也可以使用http但這需要root權限。
gitolite和gitosis 在安裝完成后都會在本地形成一個和本地相關的clone庫,然后通過 git clone 本地庫(本地),進行配置。
以下是經過驗證的
gitolite的安裝
- 創建ubuntu用戶,通常都使用git作為用戶名
sudo adduser git - 修改git的sudo權限
sudo vim /etc/sudoers
在root 下添加 git ALL=(ALL) ALLUser privilege specification
root ALL=(ALL) ALL
git ALL=(ALL) ALL - 切換到git用戶
su git - 安裝gitolite
sudo apt-get install gitolite - 生成ssh
ssh-keygen - 將git的注冊為gitolite管理員賬號
gl-setup .ssh/git.pub
7.克隆出gitolite-admin
git clone git@server :gitolite-admin 就可以進行管理了
總結:
可以不將git注冊為gitolite管理員,可以通過上傳其他機器的pub到服務器,或者將git的公匙和密匙拷貝到其他機器,就可以遠程管理gitolite了
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!