Gitolite 安装

来源:互联网 发布:淘宝客服议价话术 编辑:程序博客网 时间:2024/06/05 04:16
安装:
# 获取版本库git clone git://github.com/sitaramc/gitolite# 创建bin目录,用于存放安装后的文件mkdir -p ~/bin# 将gitolite安装到bin目录gitolite/install -to ~/bin# 使用YourName.pub公钥初始化版本库gitolite setup -pk YourName.pub 
#
YourName.pub
是管理员的公钥 这个公钥最好用linux服务器本身生成的

管理用户: 

添加删除用户
绿颜色是新增用户的过程
红颜色是删除用户的过程

管理也是在服务器上,自己随便找个路径,把管理的文件夹clone下来。

  • [root@localhost luxiaoshuai]# git clone root@192.168.101.233:gitolite-admin.git
  • 正克隆到 'gitolite-admin'...
  • The authenticity of host '192.168.101.233 (192.168.101.233)' can't be established.
  • RSA key fingerprint is f1:c6:64:d7:77:c8:c2:db:88:4f:0b:94:73:6e:da:59.
  • Are you sure you want to continue connecting (yes/no)? root^H^H^H^H^H
  • Please type 'yes' or 'no': yes
  • Warning: Permanently added '192.168.101.233' (RSA) to the list of known hosts.
  • remote: 对象计数中: 6, 完成.
  • remote: 压缩对象中: 100% (4/4), 完成.
  • remote: Total 6 (delta 0), reused 0 (delta 0)
  • 接收对象中: 100% (6/6), 完成.
  • 检查连接... 完成。
  • [root@localhost luxiaoshuai]# ls
  • git  git-2.4.3  gitolite-admin
  • [root@localhost luxiaoshuai]# cd gitolite-admin/
  • [root@localhost gitolite-admin]# ls
  • conf  keydir
  • [root@localhost gitolite-admin]# cd keydir/
  • [root@localhost keydir]# ls
  • id_rsa.pub
  • [root@localhost keydir]# rz #上传用户的pub key
  • [root@localhost keydir]# git add .
  • [root@localhost keydir]# ls
  • id_rsa.pub  win7Client.pub
  • [root@localhost keydir]# git status
  • 位于分支 master
  • 您的分支与上游分支 'origin/master' 一致。
  • 要提交的变更:
  •   (使用 "git reset HEAD <文件>..." 撤出暂存区)

  •         新文件:   win7Client.pub

  • [root@localhost keydir]# git commit -a -m "add user by admin" 
  • [master 7b76e81] add user by admin
  •  Committer: root <root@localhost.localdomain>
  • 您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
  • 与否。您可以对其进行设置以免再出现本提示信息:

  •     git config --global user.name "Your Name"
  •     git config --global user.email you@example.com

  • 设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:

  •     git commit --amend --reset-author

  •  1 file changed, 1 insertion(+)
  •  create mode 100644 keydir/win7Client.pub
  • [root@localhost keydir]# git config --global user.name "admin"    
  • [root@localhost keydir]# git config --global user.email "admin@zlebank.com"
  • [root@localhost keydir]# git commit --amend --reset-author
  • [root@localhost keydir]# git push origin master
  • 对象计数中: 4, 完成.
  • 压缩对象中: 100% (4/4), 完成.
  • 写入对象中: 100% (4/4), 688 bytes | 0 bytes/s, 完成.
  • Total 4 (delta 0), reused 0 (delta 0)
  • To root@192.168.101.233:gitolite-admin.git
  •    02d99b9..96ea9c2  master -> master
  • [root@localhost keydir]# ls
  • id_rsa.pub  win7Client.pub
  • [root@localhost keydir]# rm -f win7Client.pub 
  • [root@localhost keydir]# ls
  • id_rsa.pub
  • [root@localhost keydir]# git commit -a -m "delete"
  • [master 281149f] delete
  •  1 file changed, 1 deletion(-)
  •  delete mode 100644 keydir/win7Client.pub
  • [root@localhost keydir]# git push origin master
  • 对象计数中: 3, 完成.
  • 压缩对象中: 100% (2/2), 完成.
  • 写入对象中: 100% (3/3), 295 bytes | 0 bytes/s, 完成.
  • Total 3 (delta 0), reused 2 (delta 0)
  • To root@192.168.101.233:gitolite-admin.git
  •    96ea9c2..281149f  master -> master
  • [root@localhost keydir]# ls
  • id_rsa.pub
  • [root@localhost keydir]# rz
  • rz waiting to receive.
  •  zmodem trl+C ȡ 
  •   100%     408 bytes  408 bytes/s 00:00:01       0 Errors

  • [root@localhost keydir]# ls
  • id_rsa.pub  luxiaoshuai.pub
  • [root@localhost keydir]# git add .
  • [root@localhost keydir]# git commit -a -m "
  • > add"
  • [master 382b12b] add
  •  1 file changed, 1 insertion(+)
  •  create mode 100644 keydir/luxiaoshuai.pub
  • [root@localhost keydir]# git push origin master
  • 对象计数中: 4, 完成.
  • 压缩对象中: 100% (4/4), 完成.
  • 写入对象中: 100% (4/4), 680 bytes | 0 bytes/s, 完成.
  • Total 4 (delta 0), reused 0 (delta 0)
  • To root@192.168.101.233:gitolite-admin.git
  •    281149f..382b12b  master -> master
  • [root@localhost keydir]# ls
  • id_rsa.pub  luxiaoshuai.pub

管理项目库

新加项目库

[root@localhost conf]# cat gitolite.conf 
repo gitolite-admin
    RW+     =   id_rsa

repo testing
    RW+     =   @all

repo gitTest
    RW+     =   id_rsa luxiaoshuai

新增黄色部分为一个新的项目库然后执行以下命令

git commit -a -m "add project by luxiaoshuai"
git push origin master

执行完成后,项目自动就已经建好了,不过是空的。

项目权限管理

项目权限划分
  • 1.  对所有的分支拥有读写、重置、添加和删除的授权。
  • 2. 对master有读写权限的人 
  • 3.对developer有读写权限的人
  • 4. 对项目只有读的人 

@admin = luxiaoshuai yangpeng
repo gitolite-admin
    RW+     =   id_rsa
repo testing
    RW+     =   @all
repo gitTest
    RW+     =   id_rsa luxiaoshuai
    RW+ developer3$ = yangpeng
repo gitTest2
    RW+     =   luxiaoshuai yangpeng
repo gitTest3
    RW+     =   luxiaoshuai #1.  对所有的分支拥有读写、重置、添加和删除的授权。
    RW+  master   =   yangpeng #2. 对master有读写权限的人
    RW+  develop$ = yangpengDev #3.对developer有读写权限的人
    R    develop$ = yangpengR #4. 对项目只有读的人
项目分支划分

  • master(生产代码)
  • developer(最新的开发变更)

0 0
原创粉丝点击