永不落伍 发表于 2018-9-16 11:25:46

Git配置(三)使用gitolite控制权限

  1、切换git用户
  

su - git  

  2、获取gitolite,不能到github下载tar或zip包解压,缺少.git目录,安装时获取不到版本
  

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

  可能会现如下错误
  Unable to find remote helper for 'https'
  需要再环境变量中增加/usr/libexec/git-core配置
  切换root用户
  

vim /etc/profile  

  修改最后一行
  

export PATH="/usr/local/git/bin:/usr/libexec/git-core:$PATH"  

  执行source命令
  

source /etc/profile  

  切换回git用户
  还可能会出现如下错误

  需要更新以下库
  

yum update -y nss curl libcurl  

  3、安装gitolite
  

mkdir $HOME/bin  
gitolite/install -to $HOME/bin
  
cd bin/
  

  可以按照以下内容

  4、配置管理员
  

ssh-keygen -t rsa  

  一路回车

  5、修改公钥名称(这里起名为admin,后续再gitolite中配权限对admin进行配就行了,代表本机)
  

cd $HOME  
mv .ssh/id_rsa.pub admin.pub
  
$HOME/bin/gitolite setup -pk admin.pub
  


  6、生成管理员仓库(后续对权限、项目的配置就在这个仓库配置,配置后push即可)
  

git clone git@127.0.0.1:gitolite-admin  
cd gitolite-admin
  


  7、配置gitolite-admin
  

vim gitolite-admin/conf/gitolite.conf  



  新建一个project项目
  定义两个用户组: admin 和 user
  用户admin 对 有(读 写 删除)RW+ 权限
  user组对project 有 (读 写)RW 权限

  8、提交修改
  

git add .  
git commit -am "add project"
  

  可能会出现下面错误,需要设置一下email和name

  

git config --global user.email "xxxx@xxxx.com"  
git config --global user.name "xxxx"
  

  再次提交
  

git commit -am "add project"  
git push origin master
  


  提交完后,可以看到多了project目录

  9、客户端访问
  在客户机要下载的目录右键打开Git Bash,输入
  

ssh-keygen -t rsa  

  一路回车,在用户目录下的.ssh会生成id_rsa.pub公钥,上传公钥至gitolite-admin的keydir目录下,修改id_rsa.pub为test(根据实际情况修改)
  

mv>  

  修改gitolite.conf文件增加test用户对project项目的访问权限
  

vim gitolite-admin/conf/gitolite.conf  


  提交到版本库
  

git add .  
git commit -am "add auth to test for project"
  
git push origin master
  

  在windown的Git Bash输入以下命令,下载project项目
  

git clone git@xxx.xxx.xxx.xxx:/project.git

页: [1]
查看完整版本: Git配置(三)使用gitolite控制权限