Git配置使用gitolite控制权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]: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 "[email protected]"
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 id_rsa.pub test
修改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 [email protected]:/project.git
以上是关于Git配置使用gitolite控制权限的主要内容,如果未能解决你的问题,请参考以下文章