安装必须插件
yum install -y python python-setuptools git-core
下载gitosis
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
安装
python setup.py install
生成密钥 本地或者linux都行
$ ssh-keygen -t rsa -C 'name' #不需要密码,一路回车就行
将id_rsa.pub拷贝到linux /tmp目录下
useradd gitosis
passwd gitosis
输入下密码
切换用户
su gitosis
执行初始化
gitosis-init < /tmp/id_rsa.pub
执行完毕后gitosis就安装完成了
接着是仓库权限配置
刚刚生成的ssh-keygen是在那台机器就去那台机器
pc的话就右键打开Git Base
git clone gitosis@ip:gitosis-admin.git
可以看到是有一个gitosis.conf 和keydir文件夹
打开gitosis.conf
[gitosis]
[group gitosis-admin]
members = root@localhost.localdomain
writable = gitosis-admin
[group server]
writable = myproject
members = zhangsan root@localhost.localdomain
用户对应上面的members
多个用户用空格隔开
将zhangsan机器上通过ssh-keygen生成的idrsa.pub文件放入keydir中修改文件名与密钥生成时给的name一致
提交
通过项目有权限的人员
在本地创建myproject目录
进入myproject 右键打开Git Base Here执行
git init
#必须有内容提交,否则提交的时候会报 error: src refspec master does not match any
touch readme.md
git add .
git commit -a -m “初始化myproject″
git remote add origin gitosis@ip:myproject.git
git push origin master
至此,zhangsan就能通过 gitosis@ip:myproject.git 把项目拉到本地了