在群晖NAS上快速搭建属于自己的Git Server

天翱的技术员作为一名码农,平日里写好的程序,改好的程序,都有保存项目历史版本的习惯,同时还需要在其他机器取得新文件并编辑再提交。结合上述需求,我想起了Git。说起Git代码托管服务,目前国外有大名鼎鼎的GitHub,国内也有码云、coding等平台。虽然这些平台都有较好的体验,但是作为一个折腾帝,不知道为什么,就是想要利用自己群晖NAS来折腾一下,搭建一个属于自己的Git Server服务器,保存的项目也不需要上传到其他网站服务,从某种意义上来说也能保障私密,所以就有了以下的文章内容。


群晖NAS套件中心是有Git Server套件的,只要在套件中心安装即可。但是需要注意的是:


第一、git 相关的命令需要使用 SSH 客户端连接到NAS上进操作。


第二、配置git时需要使用 管理员权限账户,而 push / fetch 使用的账户一般都为普通用户,一定要注意权限问题。


1 配置NAS


1.1 安装Git Server套件


1.jpg


1.2 创建用来存放git仓库的共享目录


2.jpg


1.3 创建一个用来使用Git的普通权限账户


3.jpg


1.4 设置 Git Server ,并赋予Git_test用户访问Git Server的权限。


4.jpg


1.5  打开NAS的家目录,并允许使用SSH连接


注意:请依次打开NAS控制台→控件面板→用户账号→高级设置→家目录,启用家目录服务。


5.jpg


然后在依次打开NAS控制台→控制面板→终端机和SNMP-终端机,启用SSH功能。


6.jpg


2 通过SSH创建Git仓库


以下操作过程主要只利用SSH工具来链接至群晖NAS操作,SSH工具以Xshell为例,同时需要注意的是SSH登录账户必须具有管理员权限,以下操作截图只保留关键步骤。


2.1 使用Xshell登陆NAS 进入Git_test目录


cd /volume1/Git_test/


7.jpg


2.2 创建仓库目录,初始化git仓库


mkdir test.gitcd test.gitgit init --bare


8.jpg


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目录及所有包含文件、子目录的权限


9.jpg


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


10.jpg


▲图为获成功获取到了test.git


3.2 add(添加)文件并push到仓库


git add .git commit -m "add test.txt file"git push


11.jpg


▲图为成功成功创建文件并push到仓库


在使用过程中,我们不一定非要用CMD命令行窗口来操作Git,一般我们使用的IDE开发工具都集成有Git功能,可以很方便进行Git操作。如果需要外网访问Git Server,我们需要对NAS的SSH端口进行端口映射。