gitosis 手记
1、添加新的授权电脑
(1)客户端生成公钥
#ssh-keygen
三次回车后生成无密码私钥,公钥文件(.pub为公钥)
(2)将公钥文件发给配置管理员,放到keydir文件夹(可以更改文件名字)
(3)编辑gitosis.conf文件,将该用户(与文件名字相同)添加到需要访问的组中
(4)push上面两步的更改到gitosis-admin中,下次访问生效
2、添加新的项目
(1)编辑gitosis.conf文件,添加预建项目到授权的组下并提交
(2)创建文件夹并初始化,如果是已有的文件夹提交到git服务器进行管理,则直接初始化
#mkdir test;
#cd test;
#git init
(3)创建远程仓库
git remote add origin git@ip:test.git
(4)添加文件或文件夹并提交,最后推送至远端服务器
#git add file.x
#git add db/
#git commit -m "add files"
#git push remote origin master
踩坑:
1、一个以前用过的机器,后来重新生成了key文件,但是按老文件命名,上传到服务器后,死活都不行,一直提示public key 无效
解决办法:生成新的key后,用新的文件名即可。
2、win7系统安装了Git bash和Git GUI工具,使用git bash进去生成key、提交key、修改gisosis.conf文件,最后按linux的写法克隆仓库,提示失败。
解决办法:给Git Bash赋予管理员权限,以管理员启动该程序即可。
3、新建的项目推送至服务器时报错误:ERROR:gitosis.serve.main:Repository read access denied
解决办法:gitosis.conf的group成员名与公钥文件名一致,或者该项目group的members没有此用户,又或者writable没有此项目。