前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >震惊!原来搭建自己的 git 服务这样简单,甚至不需要一台服务器

震惊!原来搭建自己的 git 服务这样简单,甚至不需要一台服务器

作者头像
用户3147702
发布2022-06-27 13:36:57
2K0
发布2022-06-27 13:36:57
举报
文章被收录于专栏:小脑斧科技博客

1. 引言

众所周知 git 是一个免费、开源的版本控制系统,无论是个人开发还是团队合作,使用 git 来进行代码或文档的版本控制都十分方便而高效。 有很多平台都提供了 git 版本控制的功能,例如 github、bitbucket 等,但有时,我们不可避免的会在代码或文档中加入敏感且不方便公开的信息,此时使用这些公开的云端版本控制平台就会有很大风险,同时,受国内网络质量影响,github 等平台经常遇到无法打开的情况,即便是正常情况下,github 的下载速度也总是不尽如人意的。 综上,如果我们有一个自己的代码版本控制服务器,无论对于个人的代码、文档管理还是对于团队合作上来说,无疑都是非常有价值的。 对于团队开发来说,搭建一套 gitlab 或 bitbucket 是非常方便的,但是,如果是个人开发者,或是三到五个人合作的项目,搭建一个 gitlab 或是付费使用本地 bitbucket,都显得过于奢侈。 是否有办法在一台配置很低的个人服务器上搭建一个属于自己的 git 服务器呢?当然有,本文我们就来详细介绍。 然而,此时你可能又有问题,我并没有一台属于自己的服务器,但是我强烈的希望搭建一个只属于自己的 git 服务,这可以做得到吗?别急,一样是可以做到的,本文后续内容将详细为你解答。

2. 在 linux 服务器上搭建 git 服务器

搭建 git 服务器其实没什么难的,因为 git 的设计理念中,远程仓库与本地仓库实际上没有什么不同,他只是一个 7*24 小时开机并可以使所有人可以交换修改的中心服务器罢了,所以本质上,搭建一个远程的 git 服务器与本地常规使用 git 并没有区别。

2.1. 准备步骤

2.1.1. 安装 git

首先我们需要安装 git:

  • 在 ubuntu 系统中,你可以执行:apt install git
  • 在 centos 系统中,你可以执行:yum install git
  • 你也可以通过官网下载源码包编译安装

2.1.2. 创建 git 用户

创建 git 用户并不是必须的,但我们最好使用专门的用户来统一管理所有的公钥(/home/git/.ssh/authorized_keys) 执行:

adduser git

2.1.3. 禁用 git 用户登录

出于安全性考虑,通常我们会禁用掉 git 用的 shell 登录,这可以通过编辑 /etc/passwd 文件来实现。 将 git 用户所在行修改为:

git:x:1001:1001:,,,:/home/git

每当我们需要使用 git 时,我们可以让 root 用户通过 su 命令切换为 git 用户,但任何人都不可以通过 ssh 登录 git 用户。

2.2. 创建仓库并使用

2.2.1. 创建仓库

执行下面的命令,就可以创建一个仓库 sample.git,通常我们会在 git 用户的 home 目录中执行:

git init —bare sample.git

此时我们可以看到一个目录 sample.git。

2.2.2. 使用远程仓库

如果在同一个机器上,我们可以直接通过全路径来使用:

git clone /home/git/sample.git

如果是外网通过网络访问,那么可以通过网络地址来访问:

git clone git@hostname:sample.git

hostname 就是你的网络地址。

3. 使用云盘搭建 git 服务

那么问题来了,也许对于大多数人来说,并没有一个服务器来供我们搭建只属于自己的 git 服务器,那是不是就没办法搭建一个随时随地都可用且只属于个人的 git 服务了么?答案当然不是。 随着网络时代的到来,市面上有着很多值得依赖的同步网盘服务,他们会自动进行同步,以使云上的所有文件与本地文件保持实时同步,这里就不列举了,如果有跨平台需求,那么可以使用微软的 onedrive。

上图展示了通过云盘与 git 搭建远程 git 服务的架构,由于这种模式通常只是一个人自己使用,因此不需要考虑同步到云盘发生冲突的问题。 实际搭建方法也很简单,我们选取一个同步目录(例如:C:/Users/techlog/OneDrive/Workspace/git),在这个目录中执行:

git init —bare sample.git

如果要使用仓库中的数据,只需要执行:

git clone C:/Users/techlog/OneDrive/Workspace/git/sample.git

这样我们就创建了一个远程 git 仓库,同步盘会自动同步该目录的任何变更,当我们使用其他设备时,只需要先登录同步盘,然后将具体的路径作为远程 url 即可,使用起来同样非常方便和易用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小脑斧科技博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引言
  • 2. 在 linux 服务器上搭建 git 服务器
    • 2.1. 准备步骤
      • 2.1.1. 安装 git
      • 2.1.2. 创建 git 用户
      • 2.1.3. 禁用 git 用户登录
    • 2.2. 创建仓库并使用
      • 2.2.1. 创建仓库
      • 2.2.2. 使用远程仓库
  • 3. 使用云盘搭建 git 服务
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档