
如何自己搭建简单的Git服务器
程序员的代码仓库,总是需要托管一份在服务器,这样才保险,也方便使用。今天就来谈谈 Git 服务器。
一、代码托管服务
一般情况下,都不建议自己搭建 Git 服务器,而要使用现成的服务,也就是代码托管服务。它们都是免费的。
其中,除了最后一家 Gitee 是国内的服务,其他都是国外的服务。
这些外部服务,就不多做介绍了。本文的重点不是它们,而是想谈如果不得不自己搭建 Git 服务器,那该怎么做。
二、Git 服务器软件
自己搭建 Git 服务器的原因,无非就是不方便访问外网,不愿意代码放在别人的服务器,或者有一些定制化的需求。
这时,你可以选择开源的 Git 服务器软件。
这些软件里面,Gogs 的安装是最简单的,但是功能相对比较弱。功能越强的软件,安装越复杂。
如果你只是想远程保存一份代码,并不在意有没有 Web 界面,或者其他功能,那么根本不用安装上面这些软件,一行命令就够了。
三、Git 仓库的 SSH 传输
熟悉 Git 的同学可能知道,Git 默认支持两种传输协议:SSH 和 HTTP/HTTPS。
服务器一般都自带 SSH,这意味着,我们可以什么都不安装,只通过 SSH 就把仓库推到远程服务器。
所以,一条命令就够了。我们只要在远程服务器上,建立同名的 Git 仓库,服务器就搭建好了。
上面命令中,各个部分的含义如下。
git init
--bare
[仓库名].gitexampleexample.git
执行这条命令以后,一个最简易的 Git 服务器就诞生了。后面,我们就可以通过 SSH 连接,把本地代码推送到这个远程 Git 仓库了。
四、操作演示
下面,我演示一下整个操作过程。
操作分成两部分,先在远程服务器操作,然后在本地计算机操作。
4.1 远程服务器操作
下面的操作都在远程服务器完成,假设你已经通过 SSH 登录上去了。不熟悉 SSH 的同学可以看参考这篇《SSH 入门》。
登录远程服务器的目的,主要是新建一个专门的用户,所有的 Git 操作都通过该用户完成。这一步其实不是必需的,但是这样后期操作比较灵活(比如仓库可以让多人共享)。
上面命令的含义如下。
/home/git
git
/home/git/.ssh
git
git
4.2 本机计算机操作
后面的操作都在本地计算机完成。
192.168.1.25example
ssh git@192.168.1.25gitexample.git
这条命令运行完,就有了一个 Git 服务器了,然后就可以推送代码了。
上面的命令先进入本地仓库,为远程服务器加一个别名,然后把代码推送过去。
五、另一种操作方法
git init --bare
example.gitexample.git


