git和repo環境搭建

jopen 12年前發布 | 38K 次閱讀 Git 版本控制系統

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的安裝

  1. 創建ubuntu用戶,通常都使用git作為用戶名
    sudo adduser git
  2. 修改git的sudo權限
    sudo vim /etc/sudoers
    在root 下添加 git ALL=(ALL) ALL

    User privilege specification

    root ALL=(ALL) ALL
    git ALL=(ALL) ALL
  3. 切換到git用戶
    su git
  4. 安裝gitolite
    sudo apt-get install gitolite
  5. 生成ssh
    ssh-keygen
  6. 將git的注冊為gitolite管理員賬號
    gl-setup .ssh/git.pub
    7.克隆出gitolite-admin
    git clone git@server :gitolite-admin 就可以進行管理了
    總結:
    可以不將git注冊為gitolite管理員,可以通過上傳其他機器的pub到服務器,或者將git的公匙和密匙拷貝到其他機器,就可以遠程管理gitolite了
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!