折腾树莓派(四)使用gitosis创建git托管服务器
来源:互联网 发布:sql约束表达式大全 编辑:程序博客网 时间:2024/06/08 04:49
安装gitosis
找一个目录,下载并安装gitosis
git clone https://github.com/res0nat0r/gitosis.gitcd gitosis/sudo python setup.py install
初始化gitosis
安装好gitosis之后,需要添加一个公用用户给git服务器使用者使用,切换至root用户下执行以下命令
adduser --system --shell /bin/bash --gecos 'git version control by pi' --group --disabled-password --home /home/git git
该用户为了安全起见,禁用了密码,所以无法直接登陆到shell。因此,我们需要在初始化gitosis的时候指定一个默认管理员,这里我们使用本机用户pi作为默认管理员。
ssh-keygen -t rsasudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
以上命令为用户pi创建了rsa密钥存储在~/.ssh/id_rsa.pub,并使用该密钥初始化gitosis。创建rsa密钥的时候可以设置密码,这样安全性更高。如果初始化成功,将得到以下两行提示:
Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
最后,将管理项目的管理仓库gitosis-admin导出到用户pi的home,这样就完成了gitosis的初始化配置。
cd ~git clone git@localhost:gitosis-admin.git
管理gitosis项目访问权限
假设只要使用另一台电脑管理树莓派上的项目,首先需要生成rsa密钥,windows下可在任意文件夹下’git bash here’,通过命令生成,生成的密钥默认保存在’C:\Users\{username}\.ssh’文件夹内
ssh-keygen -t rsa
将密钥文件id_rsa.pub上传至树莓派的Public文件夹下,并重命名为user@PC.pub,将其移动到gitosis管理项目内
mv ~/Public/user@PC.pub ~/gitosis-admin/keydir
之后编辑gitosis.conf文件分配权限
vim ~/gitosis-admin/gitosis.conf
该文件刚初始化完有以下内容
[gitosis][group gitosis-admin]members = pi@PiServerwritable = gitosis-admin
如果我们需要创建一个新的项目test,并添加新用户user@PC为管理员,可在以上内容下面添加如下内容
[group test]members = pi@PiServer user@PCwritable = test
如果members中人数太多,可将其归入另一个小组,并使用@group形式添加,例:
[group admins]members = pi@PiServer user@PC[group test]members = @adminswritable = test
如果要添加只读用户,则添加以下内容
[group test_readonly]members = user@PCreadonly = test
编辑完毕后,在~/gitosis-admin文件夹下使用git提交以上更改内容,完成权限配置
git add .git commit -m 'add a new user and a test project'git push
如果是在树莓派上第一次使用git,则首先需要对git进行基本设置
git config --global user.email "you@example.com"git config --global user.name "Your Name"
gitosis测试
上面我们已经完成了用户user@PC在test项目中权限的设置,但还没有创建test项目。接下来,我们将在PC上创建一个test项目进行测试。
初始化仓库
首先,在任意目录下新建文件夹test,进入test后,在bash中输入git init
初始化仓库,并随便创建一个文件commit。
设置remote
如果git服务器有固定ip,则设置remote为
git remote add origin git@192.168.1.55:test.git
如果git服务器没有固定ip,并通过域名ddns实现,则remote设置为
git remote add origin git@url:test.git
如果git端口不是默认端口22,则命令为
git remote add origin ssh://git@url:port/test.git
上传项目,push
第一次向git服务器上上传项目同普通的上传略有普通,需要在git push
后增加-u
参数
git push -u origin master
成功上传即测试通过。
删除服务器上的git项目
在树莓派上进入git用户的repositories文件夹,直接删除.git文件夹即可,以test项目为例
cd /home/git/repositories/sudo rm -r test.git
- 折腾树莓派(四)使用gitosis创建git托管服务器
- 使用Gitosis搭建Git服务器
- 使用Gitosis搭建Git服务器
- git 服务器搭建,使用gitosis
- 使用 gitosis 创建git仓库
- linux环境搭建git服务器 使用gitosis
- ubuntu11.10搭建git服务器, 使用gitosis管理git服务器
- gitosis/git服务器搭建
- gitosis/git服务器搭建
- gitosis 搭建git服务器
- 在Linux下使用gitosis配置安装Git服务器
- Win7下使用Cygwin+Gitosis搭建GIT服务器
- Git服务器Gitosis安装设置
- Git服务器Gitosis架设指南
- Git服务器Gitosis架设指南
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis架设指南
- 外网访问 Ubuntu下的 tomcat
- ProxyFacotroy源码解析
- 字符与字符串
- EasyPusher Android实时推送当前屏幕画面
- 不再以讹传讹,GET和POST的真正区别
- 折腾树莓派(四)使用gitosis创建git托管服务器
- 装饰器(Decorator)
- TypeError document.getElementById(...) is null错误原因
- 亚像素边缘检测评述
- 加快 iTunes 从苹果 App Store 下载速度
- blkid命令在rhel5.8之前的版本中的小bug
- 中断下半部之工作队列
- php在对象之外访问其私有属性private及保护属性protected的特例
- UIEventListener