首先你需要准备自己的服务器;

    在自己的服务器上,需要做以下准备工作:

  • 安装git
  • 新建一个账户用于git操作
  • 创建git存储文件夹;
  • 初始化仓库

一、安装git

sudo apt-get install git
    yum install git

二、创建用于管理git的账户

1.创建账户

    按照惯例,创建一个git:git账户用作git的操作账户(默认会添加到git属组):

useradd git
    groups git
    //git:git



    之后需要将git账户的bash更改为

    /usr/bin/git-shell

   修改该方法为用vi修改passwd文件    

vi /etc/passwd



    找到刚刚创建的git账户,更改如下:

        

如何搭建go私有仓库 自己搭建git仓库_git

    修改之后,不能够通过git远程连接bash。

2.账户权限

    经过以上步骤,我们获得了一个用于进行git操作的账户。如果服务器上已经存在git的仓库,那么我们已经可以进行git操作,例如(图中的马赛克为你的服务器地址,格式为:

    用户名(git) @ 服务器地址(192.***.**.**) : git仓库地址

如何搭建go私有仓库 自己搭建git仓库_如何搭建go私有仓库_02

    但是现在访问git是需要输入密码的,所以我们一般会采用ssh密钥的方式进行身份认证,做法如下:

    

如何搭建go私有仓库 自己搭建git仓库_初始化_03

    检查你的 ~/.ssh目录,你应当会发现id_rsa(密钥)以及id_rsa.pub(公钥)两个文件(默认文件名),钥匙一一成对,可以重复使用。

    接着我们在服务器上用root账户打开git账户的目录,执行以下操作

mkdir .ssh
    vi .ssh/authorized_keys

    在vi编辑器中,把id_rsa.pub中的内容复制进去,然后保存。为了安全考虑,这里应该将.ssh以及authorized_keys的权限分别限制为700和600:

chmod 700 .ssh
    chmod 600 .ssh/authorized_keys


    经过以上操作,我们可以在客户端执行以下命令


    

如何搭建go私有仓库 自己搭建git仓库_git_04

    把密钥添加之后就可以直接上面的clone命令,免除输入密码的烦恼。


三、创建git存储文件夹

    要将代码存储在自己的服务器上,我们需要在服务器上新建一个文件夹用于存储代码。要求git账户拥有这个文件夹的访问权限以及写入权限;在新建文件夹之后,我们我们将文件夹的拥有者更改为git: 


$ chown -R git:git 你的文件夹地址



    这样就能保证git账户对于这个文件夹拥有完全的访问权限以及修改权限;


四、初始化仓库

1. 在服务器初始化一个裸仓库

    首先,利用拥有管理员权限的账户在你的文件夹地址下创建一个裸仓库,裸仓库适用于中心仓库(服务器),初始化之后的裸仓库是不含有Working tree的。

git init 你的仓库名称(test.git) --bare

这里 * 为仓库的名称,初始化完成之后,会在文件夹(test.git是一个文件夹,添加git后缀是一种好习惯)生成如下结构:

如何搭建go私有仓库 自己搭建git仓库_服务器_05

2. 在本地拉取代码

    在服务器创建完成之后,就可以在本地对代码进行拉取;

git clone 用户名(git) @ 服务器地址(192.***.**.**) : git仓库地址(/git/)你的仓库名称(test.git)

    因为是裸库,你应该会看到以下信息



Cloning into '**'... 

 

  warning: You appear to have cloned an empty repository.

    首次推送,将git push到origin/master:

如何搭建go私有仓库 自己搭建git仓库_git_06


以上