玩玩群晖NAS-搭建一个私有的Git服务

本文介绍了如何利用群晖NAS搭建一个私有的Git服务,包括创建git用户,配置权限,安装GitServer,创建并初始化裸仓库,以及进行基本功能测试。通过这种方式,你可以在家中流畅地使用Git进行代码管理。

玩玩群晖NAS-搭建一个私有的Git服务

1. 前言

想要像Github或者Gitlab那样存放自己的代码,搭建一个私有代码平台,而这时正好又有一台群晖NAS,那恭喜你,可以实现。

2. 配置git账号以及权限

  1. 进入控制面板->用户账号->新增

  2. 名称可以设置成git,密码随意
    在这里插入图片描述

  3. 加入用户群组一定要选择administrators,因为只有这个群组才能执行ssh命令
    在这里插入图片描述

  4. 共享文件夹访要给homes开通访问权限,才能访问上git
    在这里插入图片描述

3. 配置git server

  1. 在套件中心找到git server并且安装
  2. 使用ssh进入群晖终端
  3. 进入硬盘内容目录volume1下,创建一个git_repos代码库文件夹(所有项目都可以放在这里)
$ cd /volume1/
$ sudo mkdir git_repos
  1. 创建用于测试的代码库gittest
   $ cd git_repos/
   $ sudo mkdir gittest
  1. 初始化git仓库

    1. 什么是git init --bare,和git init有什么区别

      平时我们使用的是git init,但是用git init初始化的版本库用户也可以在该目录下执行所有的git方面的操作。但别的用户在将更新push上来的时候太容易出现冲突。

      比如有用户在该目录(就称为远端仓库)下执行git操作,且有两个分支(master 和 test),当前在master分支下。另一个用户想把自己在本地仓库(就称为本地仓库)的master分支的更新提交到远端仓库的master分支,他就想当然的敲了git push origin master,这样就会出现冲突。

      因为远端仓库的用户正在master的分支上操作,而你又要把更新提交到这个master分支上,当然就出错了。

      解决办法就是使用”git init --bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到错误提示(”This operation must be run in a work tree”)

$ cd gittest
$ git init --bare

ls看一下文件夹创建了什么,出现下面的文件说明创建成功了
在这里插入图片描述
6. 最重要的一步,就是给git_repos代码库文件夹更改权限

$ sudo chown -R git:users git_repos/

4. 找一台客户机测试一下代码库是否正常工作了

  1. git clone代码
    这里的代码库我已经提交过一次了,如果没有提交过,git clone的时候会提示这个代码库为空
$ git clone ssh://git@192.168.101.18:14444/volume1/git_repos/gittest

在这里插入图片描述
2. 创建一个文件push上去

$ cd gittest
$ echo "123123" > test2.txt
$ git add .
$ git commit -m "add test2.txt"
$ git push origin master

在这里插入图片描述
基本功能测试成功,可以在家流畅使用git server啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锡城筱凯

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值