apt-get install git-core
apt-get install openssh-server openssh-client
apt-get install python-setuptools
git config --global user.name "your name" git config --global nser.email "your eamil"
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis/
安装html
python setup.py install
useradd -m git
打开git bash,就能够在windows上面使用linux的命令行python
输入以下命令,按照提示一步一步走下去linux
ssh-keygen -t rsa
就会在用户目录下生成以下文件git
把刚才生成的公钥上传到git服务器上 好比上传到/tmp目录项目下,这样能够确保gitosis-init命令对其有读取权限github
初始化gitosis 先切换到git用户!!!!!!!windows
su git gitosis-init < /tmp/id_rsa.pub
这样就会看到gitosis在git用户的home目录下,增长了两个目录以及一个gitosis配置文件的软链接bash
gitosis是gitosis的根目录服务器
repositories是仓库存放目录ssh
进入gitosis的管理仓库工具
cd /home/git/repositories/gitosis-admin.git
进入存放公钥的目录,就能够看到有一个刚才咱们初始化gitosis使用的公钥文件
注意!!! 上面的公钥文件名必须和gitosis.conf配置文件里面的成员名称如出一辙
上面的能够解释为:有一个组叫作gitosis-admin,里面只包含了一个成员smile@xxx,这些成员对gitosis-admin仓库具备读写权限
# git clone git@192.168.220.128:gitosis-admin.git git clone git@改成你的git服务器ip地址:gitosis-admin.git
[group test] members = smile@DESKTOP-IG7L8BJ writable = test
更改提交并push到git@ip地址:gitosis-admin.git
git commit -a -m "添加新仓库test" git push
mkdir test cd test git init git remote add origin git@192.168.220.128:test.git touch README.md git add README git commit -m 'first commit' git push origin master
好比上面建立的test.git仓库(也能够称为一个项目:test) 新来了一个小伙伴,名叫:tom,须要把他加入test项目组,tom也须要有对应的公钥和私钥。 假如咱们如今是组长,gitosis的配置权限只有咱们有,tom的公钥和私钥生成有两种方法:
也是用以下命令生成公钥和私钥
ssh-keygen -t rsa
接下来配置tom的公钥到gitosis
git add ./keydir/tom.pub git commit -m "添加tom到test仓库" git push
[group test] members = smile@DESKTOP-IG7L8BJ tom writable = test
git commit -a -m "添加新用户tom" git push
如今tom就能够在本身的电脑上clone test项目下来了
git clone git@192.168.220.128:test.git