如何自己搭建简单的Git服务器

目录
  • 一、代码托管服务
  • 二、Git 服务器软件
  • 三、Git 仓库的 SSH 传输
  • 四、操作演示
    • 4.1 远程服务器操作
    • 4.2 本机计算机操作
  • 五、另一种操作方法

程序员的代码仓库,总是需要托管一份在服务器,这样才保险,也方便使用。今天就来谈谈 Git 服务器。

一、代码托管服务

一般情况下,都不建议自己搭建 Git 服务器,而要使用现成的服务,也就是代码托管服务。它们都是免费的。

GitHub
Gitlab
Bitbucket
Codeberg
sourcehut
Gitee

其中,除了最后一家 Gitee 是国内的服务,其他都是国外的服务。

这些外部服务,就不多做介绍了。本文的重点不是它们,而是想谈如果不得不自己搭建 Git 服务器,那该怎么做。

二、Git 服务器软件

自己搭建 Git 服务器的原因,无非就是不方便访问外网,不愿意代码放在别人的服务器,或者有一些定制化的需求。

这时,你可以选择开源的 Git 服务器软件。

Gitlab CE
Gitea
Gogs
Onedev

这些软件里面,Gogs 的安装是最简单的,但是功能相对比较弱。功能越强的软件,安装越复杂。

如果你只是想远程保存一份代码,并不在意有没有 Web 界面,或者其他功能,那么根本不用安装上面这些软件,一行命令就够了。

三、Git 仓库的 SSH 传输

熟悉 Git 的同学可能知道,Git 默认支持两种传输协议:SSH 和 HTTP/HTTPS。

服务器一般都自带 SSH,这意味着,我们可以什么都不安装,只通过 SSH 就把仓库推到远程服务器。

所以,一条命令就够了。我们只要在远程服务器上,建立同名的 Git 仓库,服务器就搭建好了。

$ git init --bare [仓库名].git

上面命令中,各个部分的含义如下。

(1)git init:初始化一个 Git 仓库。

(2)--bare:表示新仓库不需要工作目录,只建立 Git 数据目录。

(3)[仓库名].git:指定仓库名,比如仓库名是example,那么就要建立一个叫做example.git的 Git 数据目录。

执行这条命令以后,一个最简易的 Git 服务器就诞生了。后面,我们就可以通过 SSH 连接,把本地代码推送到这个远程 Git 仓库了。

四、操作演示

下面,我演示一下整个操作过程。

操作分成两部分,先在远程服务器操作,然后在本地计算机操作。

4.1 远程服务器操作

下面的操作都在远程服务器完成,假设你已经通过 SSH 登录上去了。不熟悉 SSH 的同学可以看参考这篇《SSH 入门》。

登录远程服务器的目的,主要是新建一个专门的用户,所有的 Git 操作都通过该用户完成。这一步其实不是必需的,但是这样后期操作比较灵活(比如仓库可以让多人共享)。

$ sudo mkdir /home/git
$ sudo useradd git
$ sudo mkdir -m 700 /home/git/.ssh
$ sudo cp ~/.ssh/authorized_keys /home/git/.ssh/

上面命令的含义如下。

(1)新建新用户的主目录/home/git

(2)新建一个用户,用户名为git

(3)新建新用户的 SSH 目录/home/git/.ssh

(4)把当前用户的公钥拷贝给git用户,以便密钥登陆。

如果你只用密码登录,不使用密钥登录,那么上面第三步和第四步是不需要的,但是需要为git用户设定密码,命令如下。

$ sudo passwd git

4.2 本机计算机操作

后面的操作都在本地计算机完成。

假定上一小节的远程服务器的 IP 地址是192.168.1.25,本地的 Git 仓库名为example

$ ssh git@192.168.1.25 git init --bare example.git

上面命令中,ssh git@192.168.1.25表示以git用户的身份,登录到远程服务器。后面的部分是 SSH 的一种语法,表示登录后在远程服务器执行的命令,即新建一个远程 Git 数据目录example.git

这条命令运行完,就有了一个 Git 服务器了,然后就可以推送代码了。

$ cd example
$ git remote add myServer git@192.168.1.25:example.git
$ git push myServer master

上面的命令先进入本地仓库,为远程服务器加一个别名,然后把代码推送过去。

五、另一种操作方法

上面的例子使用git init --bare命令,在远程服务器新建 Git 数据目录。其实,Git 数据目录就是一个普通目录,直接从本地计算机拷贝过去也可以。

$ scp -r example/.git git@192.168.1.25:/home/git/example.git

上面的命令使用scp工具将本地的 example仓库里面的.git子目录,拷贝到远程服务器的目录example.git。这样也能建立 Git 服务器。

到此这篇关于如何自己搭建简单的Git服务器的文章就介绍到这了,更多相关搭建Git服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Windows平台安装和使用Gogs搭建Git服务器

    Git现在基本上已经代替SVN成为主流的源码管理工具了,有的时候我们需要搭建自己的Git服务器,例如企业内部的源码管理或者个人的私人源码管理. 之前在公司使用过GitLab搭建过Git服务器,GitLab本身是非常好用的,但是,在一些轻量级的应用(如人的源码管理服务器)的场景下,搭建和使用过程显得有些复杂了.今天我在这里要给大家介绍另一个简单易用的Git服务器Gogs. Gogs是一个使用Go语言编写的Git服务器,它可以运行在任何 Go 语言 支持的平台,包括 Windows.Mac.Linu

  • 在Linux下搭建Git服务器的方法详解

    前言 GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 我打算自己搭建git服务器.虽然目前已经有很不错的git工具,如github,coding.net等,但是为了安全,减少限制和开销,还是放在自己的服务器为好.下面给出安装配置的过程,有问题欢迎讨论和交流,我会及时回复的. 第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不

  • linux上搭建私有Git服务器的详细教程

    1.服务器搭建 远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS.以下为安装步骤: 1.下载git-2.22.0.tar.gz https://Github.com/Git/Git/archive/v2.2

  • 详解在阿里云上搭建自己的git服务器

    这篇文章我就来介绍一下如何在一台全裸的阿里云主机上搭建自己的git服务器.详细的介绍了每个步骤,具体如下: 1. 安装git 首先安装git,一般而言,现在的服务器已经内置了git安装包,我们只需要执行简单的安装命令即可安装.比如: $ yum install git # centos $ apt-get install git # ubuntu 上面是直接用root登陆服务器进行操作,也是为了演示方便. git和mysql不一样,mysql在安装时,得安装mysql-server,即mysql

  • Git 教程之服务器搭建详解

    Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum install git 接下来我们

  • 在Linux下搭建Git服务器步骤

    环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1)  ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: #yum install -y git 安装完后,查看 Git 版本 [root@localhost ~]# git --version git version 1.7.1 客户端: 下载 Git for Windows

  • 详解在CentOS下搭建自己的Git服务器

    首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便.这步默认你会,就不讲了. 有了CentOS,那么如何搭建Git服务器呢? 1.首先需要安装Git,可以使用yum源在线安装: [root@localhost Desktop]# yum install -y git 2.创建一个git用户,用来运行git服务 # adduser git 3.初始化git仓库:这里我们选择/data/git/learngit.git来作为我们的git仓库 [root@localhost

  • 如何自己搭建简单的Git服务器

    目录 一.代码托管服务 二.Git 服务器软件 三.Git 仓库的 SSH 传输 四.操作演示 4.1 远程服务器操作 4.2 本机计算机操作 五.另一种操作方法 程序员的代码仓库,总是需要托管一份在服务器,这样才保险,也方便使用.今天就来谈谈 Git 服务器. 一.代码托管服务 一般情况下,都不建议自己搭建 Git 服务器,而要使用现成的服务,也就是代码托管服务.它们都是免费的. GitHub Gitlab Bitbucket Codeberg sourcehut Gitee 其中,除了最后一

  • Nodejs 搭建简单的Web服务器详解及实例

    使用 Nodejs 搭建简单的Web服务器 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块.路径解析模块.以及301重定向问题,下面我们就简单讲一下如何来搭建一个简单的Web服务器. 作为一个Web服务器应具备以下几个功能: 1.能显示以.html/.htm结尾的Web页面 2.能直接打开以.js/.css/.json/.text结尾的文件内容

  • 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

    一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gogs是一款不错git管理系统,而且是国内开源项目,今天我们就使用Gogs基于阿里云Linux CentOS 7 Docker部署搭建自己的git服务器. Gogs介绍(官网):https://gogs.io/ 二.步骤 1.  购买一个阿里云服务器,系统选择Linux CentOS 7 2.  doc

  • 如何利用Node.js与JSON搭建简单的动态服务器

    一.创建html页面 创建4个页面,index.html.register.html.sign_in.html.home.html index.html 默认主页 register.html 用于注册账号 sign_in.html 用于登录账号 home.html 用于显示登录后的页面 主要代码片段 register.html <form id="registerForm"> <div> <label for="">用户名:<

  • Python Web程序搭建简单的Web服务器

    上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录

  • 用nginx搭建简单的文件下载服务器的方法

    1.修改nginx.conf配置文件,内容如下: server { listen 9000; #端口 server_name localhost; #服务名 charset utf-8; # 避免中文乱码 root E:\Download\java; #显示的根索引目录,注意这里要改成你自己的,目录要存在 location / { autoindex on; #开启索引功能 autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb.

  • 在CentOS搭建Git服务器的详细步骤

    前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下. 开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统. 一 确认服务器是否安装Git [root@iZ25r8k6ifuZ git]# rpm -qa git git-1.7.1-3.el6_4.1.x86_64 这里也已经安装过了,如果没有安装可以用yum install git 安装. 二 创建git用户 这里

随机推荐