曾经,小编入手了一台群晖入门NAS,买之前想着我要下电影,存资料、存照片,我一定要好好利用。可是买回来使用一段时间,热情渐渐消退,我的设备就开始进入吃灰状态了。由于设备是入门级的性能也很弱,做家庭娱乐中心CPU老是爆100%,无奈平时也就映射个磁盘在电脑偶尔存个资料什么的。
最近小编手里有个小项目,因为项目需要保存项目历史版本,同时又需要在其他机器取得最新文件并编辑再提交。结合上述需求,我想起了Git。说起Git代码托管服务,目前国外有大名鼎鼎的GitHub,国内也有码云、coding等平台。虽然这些平台都有较好的体验,但是作为一个折腾帝,不知道为什么,就是想要利用自己吃灰的群晖NAS来折腾一下,搭建一个属于自己的Git Server服务器,所以就有了以下的文章内容。
群晖NAS套件中心是有Git Server套件的,只要在套件中心安装即可。但是需要注意的是:第一、git 相关的命令需要使用 SSH 客户端连接到NAS上进操作。第二、配置git时需要使用 管理员权限账户,而 push / fetch 使用的账户一般都为普通用户,一定要注意权限问题。
1 配置NAS
1.1 安装Git Server套件
1.2 创建用来存放git仓库的共享目录
1.3 创建一个用来使用Git的普通权限账户
1.4 设置 Git Server ,并赋予Git_test用户访问Git Server的权限。
1.5 打开NAS的家目录,并允许使用SSH连接
注意:请依次打开NAS控制台→控件面板→用户账号→高级设置→家目录,启用家目录服务。
然后在依次打开NAS控制台→控制面板→终端机和SNMP-终端机,启用SSH功能。
2 通过SSH创建Git仓库
以下操作过程主要只利用SSH工具来链接至群晖NAS操作,SSH工具以Xshell为例,同时需要注意的是SSH登录账户必须具有管理员权限,以下操作截图只保留关键步骤。
2.1 使用Xshell登陆NAS 进入Git_test目录
cd /volume1/Git_test/
2.2 创建仓库目录,初始化git仓库
mkdir test.git cd test.git git init --bare
2.3 设置Git目录权限,并赋予Git_test用户访问权限
#请注意,以下命令建议手打,//后面的内容为注释内容,无需输入 sudo -i // 取得root权限 cd /volume1/Git_test/ chown xxx:users . // 将Git_test目录的所有者改为管理员账户xxx(xxx为具备管理员权限的账户),目录的所属群组改为users。注意不要忘了[.] chmod 770 . // 将Git_test目录的所有者、所属群组的权限改为 读/写/运行 chown -R Git_test:users test.git // 改变test.git目录及所有包含文件、子目录的所有者 chmod -R 770 test.git // 改变test.git目录及所有包含文件、子目录的权限
3 开始使用自己的Git Server服务器
注意:以下操作需要本机安装有Git程序,没有安装的小伙伴可以访问 https://git-for-windows.github.io/ 下载安装。
3.1 取得仓库
安装完Git程序后,我们只需要打开CMD命令符窗口并输入以下命令,即可取得Git仓库:
git clone ssh://Git_test@192.168.8.243/volume1/Git_test/test.git
▲图为获成功获取到了test.git
3.2 add(添加)文件并push到仓库
git add . git commit -m "add test.txt file" git push
▲图为成功成功创建文件并push到仓库
在使用过程中,我们不一定非要用CMD命令行窗口来操作Git,一般我们使用的IDE开发工具都集成有Git功能,可以很方便进行Git操作。如果需要外网访问Git Server,我们需要对NAS的SSH端口进行端口映射。