CentOS6.5配置git + gitolite服務器and Windows客戶端配置

一、   安裝git

1.       # yum update

# yum installcurl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

# mkdir -p/data/git

# groupadd git

# useradd -g git-d /data/git -s /bin/bash git

# passwd git    //設置git用戶密碼

2. 改變git目錄權限

# chown -Rgit:git /data/git

# chmod -R 2755/data/git

3.下載git

$ wget https://www.kernel.org/pub/software/scm/git/git-2.6.2.tar.gz

$ tar -xzvfgit-1.7.2.3,tar.gz 

$ cdgit-1.7.2.3 

$ ./configure--with-curl=/usr/local 

$ make &&make install 

$ ln -s /usr/local/git/bin/* /usr/bin/

$ git--version  #查看版本號,確實git是否安裝成功

二、   安裝gitolite

# su –git

$ pwd

 /data/git

$ mkdirbin

$ ls

$ git clone https://github.com/sitaramc/gitolite.git

或者git clonegit://github.com/ossxp-com/gitolite.git

 $ ls

 bin gitolite

$ ./gitolite/install --to /home/git/bin/

$ ls bin/

commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

三、   客戶端生成密鑰對,爲gitolite配置管理員

1.Windows安裝git forwindows2.6.2,安裝完後打開Git Bash

$ ssh-keygen–f admin –C [email protected]

$ scpadmin.pub [email protected]:/tmp/admin.pub

2.       切換到git用戶,爲gitolite配置管理員

$ bin/gitolite setup -pk /tmp/admin.pub

    Initialized empty Git repository in /home/git/repositories/gitolite-admin.git

/Initialized empty Git repository in /home/git/repositories/testing.git/

WARNING: /home/git/.ssh missing; creating a new one    

(this is normal on a brand new install)

WARNING: /home/git/.ssh/authorized_keys missing; creating a new one    

(this is normal on a brand new install)

     $ ls

      bin  gitolite  projects.list  repositories

四、   服務器ssh開啓公鑰登錄

1.    vim/etc/ssh/sshd_config,將下面幾句前面的#號去掉

RSAAuthenticationyes

PubkeyAuthenticationyes

AuthorizedKeysFile      .ssh/authorized_keys

AuthorizedKeysCommandnone

AuthorizedKeysCommandRunAsnobody

    2.重啓ssh

service sshdrestart

五、   配置gitolite,添加用戶,添加庫,用戶權限管理

1.    windows安裝TortoiseGit

2.    新建git文件夾,進入,右鍵Git Clone…

URL: [email protected]:gitolite-admin.git

      勾選Load Putty Key,選擇你的私鑰(此處需使用ppk格式私鑰,可以使用puttygen將私鑰admin轉換成admin.ppk)

             點擊OK即可clone服務器上的gitolite-admin文件夾到本地

3.    添加用戶

管理員將其他用戶的公鑰(如dong.pub)複製到gitolite-admin/keydir/下

4.    添加庫

進入gitolite-admin/conf/,右鍵Git Bash Here,

$ vimgitolite.conf (此文件用於添加庫和配置用戶對庫的權限)

repo gitolite-admin    

    RW+     =   admin

repo testing    

    RW+     =   @all

        repo git-dong           #新建庫git-dong

      RW+ =  admin dong #設置用戶admin dong有讀寫權限

 將修改push到服務器,即可添加庫和用戶。

$ cd ..

$ gitstatus                                 #查看git庫狀態

$ gitadd keydir/dong.pub conf/gitolite.conf  或者git add .

$ gitcommit –m “add repo git-admin;add user dong”

進入gitolite-admin文件夾,右鍵TortoiseGitPush

點擊OK即可。

5.    用戶權限管理

在客戶端clone gitolite-admin.git,編輯gitolite-admin/conf/gitolite.conf配置各用戶權限。

1        @team1 = zc

2       @team2 = aws zc

3   repo gitolite-admin

4       RW+                 = admin

5

6   repo ossxp/.+

7       C                   = admin

8       RW                  = @all

9

10  repo testing

11      RW+                         =   admin

12      RW     master              =   dong

13      RW+    pu                  =   shuai

14      RW     cogito$             =   lijun

15      RW     bw/                 =   houhou

16      -                           =   anony

17      RW     tmp/                =   @all

18      RW     refs/tags/v[0-9]    =   dongshuai

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章