公告:

在群晖NAS上搭建 Git Server【201710更新】

作者:star0312 / 时间:8年前 (2017/10/24) / 分类:程序开发 / 阅读:1736 / 评论:0


注:本文原文来自今为的博客,原文链接:http://blog.csdn.net/kaulctin/article/details/68080043 

本人对原文进行了修改。

1 概述

在群晖nas上使用 git server 套件还是比较麻烦的,原因有两点:一是NAS的控制台上没有BASH,git 相关的命令只能使用 SSL 客户端连接到NAS上进操作。二是配置git时需要使用 root 或 admin 账户,而 push / fetch 使用的账户一般都为普通用户,权限问题需要注意。群晖NAS上提供的 git server 套件比较简陋,使用手册也不够详细。新用户再加上对 git 命令不熟悉等问题,常在此花费大量时间。为此,将在群晖NAS上搭建 git server 的方法整理如下,以备参考。

2 事前准备

  • 群晖 Synoogy NAS DS216+II

  • SSH客户端,本文以 putty 为例

  • 本地电脑上安装 git 软件

  • 拥有NAS的管理员账户

3 配置NAS

将客户电脑和群晖NAS连接到同一个局域网。本文中是连接到同一个路由器,并为NAS设置了固定IP地址:192.168.2.98。

3.1 在群晖NAS上安装 Git Server 套件

安装git server套件

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

创建共享目录

3.3 创建用来使用git的普通用户

创建git用户

3.4 设置 Git Server ,允许刚创建的用户访问 Git Server

允许用户访问

3.5 打开NAS的家目录,并允许使用SSL连接

NAS控制台-控件面板-用户账号-高级设置-家目录,启用家目录服务。如果不启用,则每次使用SSL登陆的时候会报一个目录不存在的错误。 
设置home目录

NAS控制台-控制面板-终端机和SNMP-终端机,启用SSH功能。 
开户SSH功能

4 创建 git 仓库

接下来就是使用 SSL 连接NAS的 git server,来创建 git 仓库了。因为NAS的SSH功能仅支持admin账户登陆,所以这里需要一个NAS的管理员账户。

4.1 创建 git 仓库

打开putty客户端,输入NAS的IP地址和端口号,点击Open打开终端窗口。 
打开putty

输入NAS的管理员账户和密码即可。注意输入密码的时候光标是不会动的,无须在意。以下是登陆成功状态的界面。 
登陆NAS

切换到3.2中创建的gitReposTest目录。使用mkdir命令创建仓库目录

cd /volume1/gitReposTest/
mkdir test.git

mkdir

然后继续 cd 进入仓库,初始化git仓库

git init --bare1

git init

4.2 设置目录的权限,使3.3中添加的普通git用户也能访问

这两张图截的不好,只做参考,以下面的命令为主

sudo -i                                 // 取得root权限
cd /volume1/gitReposTest/chown aulati:users .                    // 将gitReposTest目录的所有者改为管理员账户aulati,目录的所属群组改为users。注意不要忘了[.]
chmod 770 .                             // 将gitReposTest目录的所有者、所属群组的权限改为 读/写/运行
chown -R gitUserTest:users test.git     // 改变test.git目录及所有包含文件、子目录的所有者
chmod -R 770 test.git                   // 改变test.git目录及所有包含文件、子目录的权限123456

chmod1

chmod2

5 开始使用git

5.1 本地仓库初始化

git init 

初始化后,本地仓库多了个 .git 文件夹

5.2 取得仓库

打开Windows的CMD窗口,使用git clone来获取刚刚建立的仓库。

git clone ssh://gitUserTest@192.168.2.98/volume1/gitReposTest/test.git1

git clone

5.3 add文件并push到远程仓库

git add star.txt
git commit -m "add a file"
git push

git push


  • 我的QQ二维码
  • QQ群
  • 我的微信二维码
  • 微信公众号

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。