gitolite安装详解-CentOS

 
服务端A、客户端B
服务端安装 gitolite 客户端 安装 gitolite-admin

服务端与客户端 都安装  git
yum install perl openssh git

1 客户端创建gitolite管理员 gitAdmin
useradd gitAdmin
passwd gitAdmin
su - gitAdmin
mkdir .ssh
ssh-keygen -f .ssh/gitAdmin
上传gitAdmin.pub 到 服务端A 的用户 git 目录下

2 服务端创建git用户并安装 gitolite
useradd git
passwd git
su - git
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install --to /home/git/bin/
bin/gitolite setup -pk gitAdmin.pub # 安装gitolite-admin

3 客户端clone gitolite-admin
su - gitAdmin
ssh -i .ssh/gitAdmin [email protected] # 采用ssh访问关键就这步,测试是否通过
vi .ssh/config # 配置访问服务器别名
加入内容:
host git
user git
hostname XX.XX.XX.XX
port 22
identityfile ~/.ssh/gitAdmin

chmod 600 .ssh/config  #
ssh -i .ssh/gitAdmin [email protected]  # 再次测试 config 是否起效
git clone git:gitolite-admin  # 把gitolite 转到客户端

4 gitolite 管理
创建 git 使用用户及项目配置
4.1 创建 git 访问的 key
su - gitAdmin
mkdir keys
ssh-keygen -f keys/tank
cp keys/tank.pub gitolite-admin/keydir/
cd gitolite-admin
vi conf/gitolite.conf
内容加入:
@java = tank
repo blog   //定义个组,多个人员,空格隔开。组最好都放到顶部,集中好管理 
     RW+ = @java
# end

git add.    
git status -s
git config --global user.name "tank"
git config --global user.email "[email protected]"
git commit -m "add user tank by tank.pub and create a repo blog for it"
git push origin master

测试,方式有2:
 
1 git
su - gitAdmin
ssh -i keys/tank [email protected]
git clone git:blog
cd blog
echo "hi ,git " >> test.txt
git add .
git status -s
git commit -m "Init Repo"
git log --oneline
git push origin master

2 Tortoisegit
获取 tank 私钥 通过 PuTTYgen 转成 tank.ppk
clone [email protected]:blog.git

一台配置gitolite 服务器
gitAdmin --> gitolite-admin
git  --> gitolite

useradd git
passwd git

useradd gitAdmin
passwd gitAdmin

su - gitAdmin
mkdir .ssh
ssh-keygen -f .ssh/gitAdmin
cp .ssh/gitAdmin.pub  /tmp/gitAdmin.pub

exit
su - git
cp /tmp/gitAdmin.pub gitAdmin.pub
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install --to /home/git/bin/
bin/gitolite setup -pk gitAdmin.pub # 安装gitolite-admin

exit
su - gitAdmin
ssh -i .ssh/gitAdmin [email protected]
vi .ssh/config # 配置访问服务器别名
加入内容:
host git
user git
hostname XX.XX.XX.XX
port 22
identityfile ~/.ssh/gitAdmin

chmod 600 .ssh/config  #
ssh -i .ssh/gitAdmin [email protected]  # 再次测试 config 是否起效
git clone git:gitolite-admin  # 把gitolite 转到客户端

exit
mkdir .ssh
ssh-keygen -f .ssh/tank
cp .ssh/tank.pub /tmp/
su - gitAdmin
cd gitolite-admin
cp /tmp/tank.pub keydir/
vi conf/gitolite.conf
内容加入:
@java = tank
repo blog   //定义个组,多个人员,空格隔开。组最好都放到顶部,集中好管理 
     RW+ = @java
# end
git add .    
git status -s
git config --global user.name "tank"
git config --global user.email "[email protected]"
git commit -m "add user tank by tank.pub and create a repo blog for it"
git push origin master

exit
ssh -i .ssh/tank [email protected]
拷贝 .ssh/tank到本地使用吧!

注:exit 后为 root

你可能感兴趣的:(gitolite安装详解-CentOS)