原创 lightcity 光城 2020-09-09
群晖多人协作开发1.导语
最近回到学校,需要把群晖的git server整一下,顺便自己记录一下。具体如下:
使用群晖NAS搭建一个git server,其实搭建git server还是贼简单,那在加个内网的gitlab,其实就可以做到github或者gitlab的功能,大家可以进行协作开发。无奈,内存只有2g,装gitlab也装不起。老板说只能让我们使用git server,顺便给低年级的分享一下。于是有了这一篇文章。
2.群晖
首先需要在群晖上用户账号:添加一个git账户(用来创建库,具体什么名字无所谓,只要有管理员权限创建库就行了)。
除此之外,还需要为师弟师妹们创建用户,例如:light, zhangsan,lisi, guangcheng等等,同时为用户开启家目录。如下图:
随后,在终端和SNMP中把启动SSH功能开启,配置22端口,这样使用管理员git账户创建git仓库,其他用户就可以进行commit、push、pull等操作了。
接着,如何让不同用户能够push、pull等操作呢,其实很简单,在套件中心的git server里面为不同用户授权即可,对应下图打勾就完事了。
最后,代码提交到哪个目录,或者说git仓库在哪个目录呢?这里我就创建个code吧。
3.实践
3.1 git管理员操作
- git管理员账户进行登录
ssh git@ip
- 进入
/volume1/code
目录
创建git裸库,注意不能创建普通库,创建普通库是不可以进行push操作的!
git@xxx:/volume1/code/tt.git$ git init --bare
Initialized empty Git repository in /volume1/code/tt.git/
- 权限
需要进入root用户,进行权限的添加。
sudo -i
chown -R git:users /volume1/code/
chmod -R 770 /volume1/code/
3.2 普通用户操作
假设我是我们团队的开发人员之一,我如何拉到代码呢?
git clone ssh://light@ip/volume1/code/tt.git
其他commit操作类似,例如:添加了readme。
git add readme
git commit -m "update"
git push