项目不想开源?来五分钟教你搭建自己的git服务器

项目不想开源?来五分钟教你搭建自己的git服务器

Posted by LY on November 20, 2018

在这里小小推荐下我的个人博客

csdn:雷园的csdn博客

个人博客:雷园的个人博客

简书:雷园的简书

前言

1.相信各位都用过svn、git、github、gitlab等等各种版本控制工具,相比svn我更喜欢使用git。

2.之前呢一直都是使用github,但是现在有些项目是不能开源的,它的私有仓库又是需要花钱的。svn用起来又不是很顺手,正好手上有空闲的服务器,所以想了想还是决定自己搭建一个git服务器。

3.这样一来呢,速度变快了,而且更加方便管理,安全方面也得到了提升。

4.接下来呢,我们就来说一说git服务器的搭建步骤!!!

一、我们需要在服务器上安装git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

二、配置证书登陆

配置所有需要登陆的用户的公钥,公钥位于id_rsa.pub文件中,如果没有的话可以使用ssh-keygen生成。然后将我们的公钥添加到服务器的/home/git/.ssh/authorized_keys文件中。

$ cd /home/git/
# 列出所有的文件,并查看有没有.ssh文件夹
$ ls
# 如果没有.ssh目录则执行以下命令,创建.ssh目录,如果存在可以忽略
$ mkdir .ssh
# 修改权限(-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。)
$ chmod 755 .ssh
# 更改时间标签为当前时间
$ touch .ssh/authorized_keys
# 修改权限(-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。)
$ chmod 644 .ssh/authorized_keys

三、创建初始化Git仓库

首先我们需要选定一个目录作为git仓库, 进入到任意想要放置仓库的目录下,不过root目录貌似不行,我使用root目录的时候无法push和pull,可能是个人问题哈,没有仔细去研究,只是换了个目录就好了。一般来说git仓库的名称都是以.git结尾,所以我们只需要执行如下命令,我这里以/home/github/bs.git为我的git仓库目录!

# 首先进入home目录
$ cd /home
# 创建github目录
$ mkdir github
$ cd /github
# 创建bs.git目录
$ mkdir bs.git
$ cd /bs.git
# 初始化我们的git仓库
$ git init --bare bs.git
# 执行结果为:Initialized empty Git repository in /home/github/bs.git

至此,我们的git仓库算是创建成功。

四、接下来就是克隆仓库、上传项目、git操作

这里呢我们分以下几种方式

终端命令

1.在终端中执行如下命令克隆仓库即可:

$ git clone root@ip:/home/github/bs.git
# 执行结果:
# Cloning into 'runoob'...
# warning: You appear to have cloned an empty repository. 这句算是警告,告诉你仓库是空的
# Checking connectivity... done.

2.执行后呢在用户目录中可以看到,我们的仓库已经客隆下来了

屏幕快照 2018-11-20 下午8.28.32

3.接下来呢,就是把我们的文件加入到本地仓库中,然后执行如下命令将项目提交到服务器!

# 首先打开终端cd到本地仓库目录下
$ cd bs
# 执行add命令将文件添加到本地库中,注意add 后面有个. 代表添加所有文件
$ git add .
# 执行commit命令提交到本地仓库
$ git commit -m "你的提交日志"
# 执行push命令上传项目到服务器
$ git push

当然养成好的习惯,在每次准备提交前一定先执行$ git pull命令将仓库同步到最新版本!!!减少冲突的可能。

4.至此你的项目就同步到了服务器中,在各种编译器中基本都集成了git插件,你可以直接从服务器上导入项目:

屏幕快照 2018-11-20 下午8.42.33

然后按照步骤导入项目就可以了。

5.这是使用编译器导入已经存在于服务器上的项目,那么我们本身的项目如何使用编译器上传到git服务器仓库呢!

屏幕快照 2018-11-20 下午8.53.23

执行如上操作创建本地仓库,目录选择项目目录即可。

6.然后我们会发现文件全部变成红色,右键项目然后执行如下操作将文件添加到仓库当中:

屏幕快照 2018-11-20 下午8.56.06

7.执行操作将工程项目提交到服务器,有个前提是你的服务器仓库需要是空的

屏幕快照 2018-11-20 下午8.58.16

屏幕快照 2018-11-20 下午9.01.44

输入你的URL然后push就可以将项目上传了,当然这个流程与使用github、gitlab步骤是相同的。

8.其他的编译器大同小异,这里就不详细去演示了!!!

结束语

1.有了个人的仓库之后,我感觉方便了许多,不用担心提交的版本中包含敏感信息等等一系列的细节问题。

2.使用个人的仓库速度会有明显的提升,因为其他平台毕竟使用人数较多,而你的服务器只有自己的团队在使用,一定是足够了!!!

3.感谢大家的关注和阅读,希望我的文章对于大家有所帮助,也希望大家不要嫌弃、多多支持我!!!