服务端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
猜你喜欢
转载自yogurt.iteye.com/blog/2310181
今日推荐
周排行