最近单位购入一台Synology  DS213J用作数据存储。

本人打算将一些项目的源代码也放在上面,他本身的套件中心提供了SVN SERVER和GIT SERVER。

设置SVN SERVER非常简单,基本上安装成功,设定账号,即可使用。

但是GIT SERVER的架设遇到了麻烦,按照他的帮助说明,是无法成功的,经过尝试,发现其实就是写帮助的人少写了一点内容(也就是目录权限的修改),即可解决。

现将解决方法记录如下,作为自己的备忘录,如果能帮助到有同样需求和同样麻烦的人,那么也是很开心的事情。

1.首先,进入DSM,然后在套件中心中找到GIT SERVER,下载安装即可。

2.看看DSM帮助中心对GIT SERVER使用的帮助:

若要允许用户使用 Git:请使用拥有管理权限的帐户登录 DSM。进入控制面板 > 终端机并启用 SSH 服务。
请启动 Git 套件,并选择用户以向其提供从资料库签入与签出文件的能力。
注:通过称为 git-shell 的壳工具,Git 用户将被限制仅可进行 Git 相关活动。此登录壳将应用于 Git 用户可进行确保这些帐户仅用于 Git 操作。因此,Git 用户只能使用 SSH 连接来推拉 Git 存储库,而没有 DSM 完全的访问权限。若要创建 Git 存储库:请通过 SSH 服务以 root 或 admin 身份登录 Synology 服务器。
将目录更改为 /volumeX(X 为卷编号)以创建文件夹。例如,“git_repos”。该文件夹将拥有与 Linux 相同的权限。
请在该文件夹中运行 git init 来创建空存储库。
创建存储库后,Git 客户端用户可输入以下命令来访问该存储库:
git clone ssh://[Git 用户]@[您的 Synology 服务器 IP 地址或主机名]/[Git 存储库路径]

  这里鄙视一下写帮助的这个人,我严重怀疑群晖的工作人员是没有真的在他们机器上测试过GIT SERVER的。因为按照他帮助说的方法,你是不可能成功的。

遇到这个问题的时候我搜遍了网络,也没有第二个人有这个问题的描述,只是查找到不少从头安装GIT SERVER的文章,而且其中还充斥着很多无用的步骤。

3.正确的方法如下:

安装成功之后,在DSM中创建一个GIT用户,比如我创建的用户为jackwong,然后进入DSM左上的功能菜单,打开GIT SERVER窗口,将允许访问GIT库的用户打上勾。比如我就将jackwong这个用户打上了勾。

然后进入控制面板 > 终端机并启用 SSH 服务。

到这一步,DSM的设置任务就完成了。

接着通过SSH连接到你的这个DS213J上。登陆的时候当然采用root登陆,密码就是admin的密码。

登陆进去之后,就是Linux命令行操作了。

首先进入你的磁盘卷,一般名字是volumeX,X表示你创建的磁盘空间数量,一般这个机器就两个硬盘,一般就是volume1了

cd /volume1

接着创建一个git库目录

mkdir git_repos

然后再里面创建一个测试项目

cd git_repos

mkdir gittest

然后进入这个测试项目目录

cd gittest

进行GIT初始化

git init --bare

由于是root用户执行的操作,所以有一个最最重要的步骤,就是将这个宝库的整个目录的主人要修改为你的git用户

chown -R jackwong:users  git_repos

如果你还想让其他用户也一起共享的话,

还需要将其他用户的权限设置为可写

chmod -R 775 git_repos

当然,这里的git_repos是整个库目录,我是为了省事情,如果不同项目需要区别对待,那就对里面的项目目录进行设置就可以了。

总的原则就是某个用户要想能推送文件到服务器,必须打开这个用户对整个项目目录,包括子目录的写权限,否则就会失败。

到这里,服务器就设置完毕了。

在客户端进入git 命令行,测试一下是否可以下载和上传。

git clone ssh://jackwong@192.168.0.1/volume1/git_repos/gittest

然后再本地添加一个文件并提交到本地版本库中

echo "t1.txt" >t1.txt

git add t1.txt

git commit -m "add t1.txt"

最后测试一下推送到GIT SERVER上

git push origin master

显示成功!

如果要添加其他用户,只需要在DSM中创建账号,并且在GIT SERVER界面中允许访问的勾打上。并保证这个用户在git_repos下的对应项目文件夹中具有写权限就可以了。

PS :GIT的使用和SVN这类中心式的架构有很大不同。要把本地项目创建到GIT SERVER上,需要费点周折。

简单的说可以按照如下步骤:

1.先在本地创建项目,有个项目目录

2.然后在本地的这个项目目录中执行git --bare init进行初始化。

3.然后将需要提交的文件提交到本地

4.然后将项目目录COPY到服务器上,只COPY  .git 目录就行,其他工作目录不用COPY的。

5.在本地就可以推送到远程服务器上了。

还有一种方法:

如果本地初始化的时候使用的是git init,那么推送就会出现问题。

解决方法是将本地的目录全部COPY到服务器上。

然后再服务器对应目录下面执行:

git config --bool core.bare true接着删除掉除.git目录之外的所有文件和目录即可。这样本地就能顺利推送了。

当然直接使用

git clone --bare hello hello.git
这样直接导出裸库,然后将hello.git 这个目录直接上传到服务器上也可以。不过地址需要加上hello.git这个的目录。

转载于:https://www.cnblogs.com/softman11/p/3443229.html

Synology DS213J 群晖NAS git server架设方法!相关推荐

  1. 群晖NAS Git Server项目源代码管理 配置搭建

    一.前言 公司买了一个群晖的服务器,准备用来管理源代码.以及部署禅道,安装禅道需要借助Docker容器,但是DS216j 不持之Docker容器,服务器配置不行至少需要带+号的才行: 二.Git Se ...

  2. 在群晖NAS上搭建 Git Server

    概述 事前准备 配置NAS 1 在群晖NAS上安装 Git Server 套件 2 创建用来存放git仓库的共享目录 3 创建用来使用git的普通用户 4 设置 Git Server 允许刚创建的用户 ...

  3. 群晖nas安装php,在群晖NAS上运行URLOS之后竟然能安装Discuz! Q!!

    如果我们手头上有1台群晖NAS时,有没有考虑过把群晖NAS当成服务器来使用,这样会不会很有意思呢? 现在,我们终于可以尝试一番了,把群晖NAS变成一台实实在在的服务器,在上面跑各种运行环境! 其实很简 ...

  4. 群晖 nas 使用Git Server 和 Gitee 仓库共享

    目录 第一步:建立本地仓库Git_Test 第二步:完成本地仓库文件建立 第三步:在Gitee上建立空仓库 第四步:关联并同步本地库到Gitee 第五步:在群晖nas上创建按并初始化git仓库 第六步 ...

  5. server 群辉emby_群晖NAS | 安装使用Emby媒体服务器(解决无法启动的问题)

    说明:对于媒体服务器程序这块,博主目前用的是 Jellyfin,有兴趣的话可以翻看之前的文章 <群晖NAS使用Docker安装Jellyfin媒体服务器> ,工具不嫌多,所以今天把 Jel ...

  6. 玩转群晖NAS套件系列二:synology Drive的安装使用保姆级教程!

    本章介绍: 上一章节我们讲解<玩转群晖NAS套件系列一:cloud sync套件的安装与使用保姆级教程!>,此教程堪称史上手把手的保姆教程,受到广大网友的一致好评, 今天在这里介绍syno ...

  7. 群晖nas自建Joplin server

    群晖nas自建Joplin server 一.Joplin介绍 Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/等版本的客户端,支持多端同步( ...

  8. 将钉钉、飞书、企业微信账号同步到Synology群晖NAS,并开启LDAP双因子认证

    用户使用钉钉.飞书.企业微信账号即可登录群晖 Synology NAS 等LDAP协议应用,账号的创建.删除.变更都会自动同步给下游LDAP应用,这意味着账号管理流程缩短了一倍.而流程如此高效,秘密就 ...

  9. synology服务器限制用户复制文件,百度网盘限制群晖NAS用户上传数据,免费时代结束了...

    群晖系统真是一个很好用的系统,目前我的蜗牛星际主机组装的黑群晖已经运行2个月了,十分便利.大家都说 不过群晖同步 百度网盘给出的官方通知显示,可供 原本"百度网盘后宫佳丽三千,独独宠群晖一人 ...

最新文章

  1. Spring-boot logback日志处理
  2. github密码格式_如何使用GitHub构建一个简单的网页 (不用框架版本)
  3. idea设置默认maven配置, 避免每次设置maven
  4. C++ 实例化对象 p-printX()
  5. Win11右键菜单变换Win10风格
  6. 推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了...
  7. Android 图片选择器、图片剪切,文件选择器
  8. Form表单中method=post/get'的区别
  9. 计算机和单片机概述,微机与单片机概述课件.ppt
  10. python微信群聊机器人_python 群聊 机器人
  11. java裂变_微信现金红包单一红包、裂变红包(Java版)
  12. 学计算机专业独立显卡有必要吗,独立显卡驱动有什么用(显卡驱动有必要安装吗)...
  13. 路由器的几种工作模式
  14. 表格处理:换行还是不换行?
  15. 波士顿动力机器人大秀男团舞
  16. Go问题/知识收集 - 1
  17. thinkphp6 短信宝/腾讯云发送手机号验证码
  18. 选生物化学历史能不能报计算机专业,化学生物历史组合被禁:新高考为啥不能选化学生物历史?...
  19. 冉斌:车路协同是自动驾驶的必经之路
  20. K8S 安装 Dashboard

热门文章

  1. Linux grep命令的一些使用体会
  2. Kubernetes负载均衡器-traefik ingress安装
  3. 【UI】为项目添加类似于淘宝筛选列表勾选的ui-choose
  4. 如何查看sql2005数据库的端口号
  5. mysql的主从(AB)复制
  6. 还是不知道怎么用FreeTextBox 3.0,郁闷致死
  7. 《Look at Boundary: A Boundary-Aware Face Alignment Algorithm》代码调试
  8. python向it新增5个元素_Python序列、元组、列表、集合及字典笔记整理
  9. python自动执行脚本
  10. 利用脚本检查机房中服务器的工作情况,并将ip和主机名放到指定文件中