1. 程式人生 > >基於linux的Git平臺的部署與Gitolite使用

基於linux的Git平臺的部署與Gitolite使用

pre assign data 現在 bytes conf 標準 host 安裝

基於linux的Git平臺的部署與使用

  1. 系統環境
    #cat /etc/redhat-release 
    CentOS Linux release 7.3.1611 (Core)
  2. 安裝git
    ##yum安裝git
    #yum -y install git
  3. 創建git用戶及設置密碼
    #useradd git
    #passwd git
  4. Gitolite使用說明
    Gitolite管理的方式是給你一個特殊的倉庫,修改,提交,推送到服務器就可以了,這個倉庫只可以管理員訪問,現在把管理員的公鑰復制到服務器上(可以和Git服務器在同一臺服務器上也可以在不同的服務器上)
  5. 管理員公鑰復制
    #su - git
    $ pwd
    /data/git  (可以在其他目錄下創建,最好在git賬戶的家目錄下)
    $ touch admin.pub
    將管理員的公鑰放到admin.pub文件裏(只能放一行,即只能有一個管理員賬號)
  6. 安裝Gitolite和配置
    ##在git用戶上進行安裝
    #gitolite will install here
    $ pwd
    /data/git
    $ mkdir bin  (最好在git賬戶的家目錄下)
    #get the source code
    $ git clone git://github.com/sitaramc/gitolite.git
    #install
    $ ~/gitolite/install -to ~/bin
    #setup
    $ ~/bin/gitolite setup -pk ~/admin.pub
    $ ls
    admin.pub  bin  gitolite  projects.list  repositories
  7. 管理用戶進行測試

    ##以下操作均在mac上進行!
    ##管理員公鑰添加的是我mac本的
    ?  ~ ssh -p 58000 [email protected]
    ##應該看到類似這樣的輸出:
    hello git, this is git@desktop running gitolite3 v3.04-20-g6328ec2 on git 1.7.9.5
    
    R W   gitolite-admin
    Connection to localhost closed.closed
    ##將管理倉庫克隆下來管理Git服務器
    ?  git clone ssh://[email protected]:58000/gitolite-admin (非標準ssh端口)
    ##將會看到如下兩個目錄文件:
    ?  gitolite-admin git:(master) ls
    conf   keydir
  8. 添加用戶
    ##以下操作均在mac上進行
    git:(master)   pwd
    git:(master)   /Users/wtf/gitolite-admin/keydir
    git:(master)   touch shiyan.pub
    ##將用戶shiyan的公鑰寫入shiyan.pub文件裏!
    git:(master)   vim shiyan.pub
    git:(master)   pwd
    git:(master)   /Users/wtf/gitolite-admin
    git:(master)   git add keydir
    git:(master)   git commit -m "add new user shiyan"
    git:(master)   git push
    git:(master)   ls
    shiyan.pub
  9. 添加/創建倉庫
    ##我們現在要創建一個名為datagrand1的倉庫,讓剛創建的datagrand1有讀寫權限,並將其給予用戶shiyan使用。
    git:(master)  pwd
    /Users/wtf/gitolite-admin/conf
    ##添加類似下面這內容進去
    repo datagrand1
    RW+    =   shiyan
    保存,提交並推送到遠和服務
    git:(master)  pwd
    /Users/wtf/gitolite-admin
    git:(master)  git add -u
    git:(master)  git commit -m ‘add new repo datagrand1 and assign RW+ to shiyan‘
    git:(master)  git push
    ##推送的時候應該看到類似這樣的信息
    Counting objects: 7, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (4/4), 395 bytes, done.
    Total 4 (delta 1), reused 0 (delta 0)
    remote: Initialized empty Git repository in  xxxxx
    To git@desktop:gitolite-admin
    6de90b8..52737aa  master -> master
     ##註意remote開頭的一行,它已經幫你創建了這個倉庫
  10. 使用clone倉庫
    ##在shiyan賬戶的終端上進行操作
    $ git clone ssh://[email protected]:58000/datagrand1 (非標準ssh端口)

基於linux的Git平臺的部署與Gitolite使用