安装
python setup.py install打开git bash,就可以在windows上面使用linux的命令行
输入如下命令,按照提示一步一步走下去
ssh-keygen -t rsa就会在用户目录下生成如下文件 - 私钥:保存在本地 - 公钥:需要上传到git服务器
把刚才生成的公钥上传到git服务器上 比如上传到/tmp目录项目下,这样可以确保gitosis-init命令对其有读取权限
初始化gitosis 先切换到git用户!!!!!!!
su git gitosis-init < /tmp/id_rsa.pub这样就会看到gitosis在git用户的home目录下,增加了两个目录以及一个gitosis配置文件的软连接
gitosis是gitosis的根目录repositories是仓库存放目录
进入gitosis的管理仓库 cd /home/git/repositories/gitosis-admin.git进入存放公钥的目录,就可以看到有一个刚才我们初始化gitosis使用的公钥文件
注意!!! 上面的公钥文件名必须和gitosis.conf配置文件里面的成员名称一模一样
再来看一下gitosis.conf配置文件 group 代表一个组members 代表成员,可以有多个成员,用空格进行分割writable 代表对哪个仓库名具有读写权限上面的可以解释为:有一个组叫做gitosis-admin,里面只包含了一个成员smile@xxx,这些成员对gitosis-admin仓库具有读写权限
clone gitosis的管理仓库 gitosis-admin.git 到本地,方便来完成相应的修改配置 比如在windows下面,还是打开git bash # git clone git@192.168.220.128:gitosis-admin.git git clone git@改为你的git服务器ip地址:gitosis-admin.git 修改配置文件gitosis.conf ,新添加一个测试组 [group test] members = smile@DESKTOP-IG7L8BJ writable = test更改提交并push到git@ip地址:gitosis-admin.git
git commit -a -m "添加新仓库test" git push 在本地创建一个test仓库,并push到git@ip地址:test.gitgitosis会在/home/git/repositories自动创建test.git这个仓库 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的公钥和私钥生成有两种方法: - 我们帮tom生成,然后把私钥分发给tom - tom自己生成公钥和私钥,然后把公钥发给我们
也是用如下命令生成公钥和私钥
ssh-keygen -t rsa接下来配置tom的公钥到gitosis - 还是打开刚才clone到本地gitosis的管理仓库 - 把tom的公钥放在keydir文件夹下面 - 修改tom的公钥的名称为tom.pub(公钥文件名必须和gitosis.conf配置文件里面的成员名称一模一样) - 把更改push到gitosis-admin.git
git add ./keydir/tom.pub git commit -m "添加tom到test仓库" git push 修改gitosis.conf,加入tom [group test] members = smile@DESKTOP-IG7L8BJ tom writable = test 更改提交并push到git@ip地址:gitosis-admin.git git commit -a -m "添加新用户tom" git push现在tom就可以在自己的电脑上clone test项目下来了
git clone git@192.168.220.128:test.git