本篇博客CV自张扎瓦的博客,本人只在此处充当一下搬运工,大家可以点击神奇传送门前往原文博客的说。
前言
git可以说是目前使用最广泛的版本控制系统了,GitHub是基于git的免费的代码托管网站,有人说,既然都是免费的了,直接用不就好了吗,干嘛还要费劲自己搭建一个服务。我想说的是,GitHub虽然是免费的,但是有一点很重要,那就是私有性。公司内部的项目通常都是要保密的。虽然GitHub可以选择仓库私有,但那是要收费的。综上所述,还是在自己私有的服务器上搭建git服务比较合适。
本次演示使用VMware虚拟机,系统镜像CentOS 6.9 x64,root账户进行安装操作。
正文开始
安装git
使用yum查询当前是否有可安装的git版本
1 | # yum info git |
使用yum安装git
1 | # yum install -y git |
检查是否安装成功
1 | # git version |
创建git运行用户
1 | # adduser git |
在当前Linux系统中创建了一个新的用户git
。
执行完以上命令后,会在/home
生成一个git
文件夹。我们cd到home目录查看一下
1 | # cd /home/git |
禁止git用户shell登陆
创建git用户是为了访问服务器的git仓库,为了安全起见,将git用户禁止shell登录。
1 | # vi /etc/passwd |
找到类似下面的一句
1 | git:x:501:501::/home/git:/bin/bash |
将其改为
1 | git:x:501:501::/home/git:/usr/bin/git-shell |
保存即可。
创建ssh证书登录
在/home/git
文件夹下,创建一个新文件夹.ssh
,并新建一个文件authorized_keys
,这个authorized_keys
文件用来存放我们的git公钥。
1 | # mkdir .ssh |
收集团队中其他人的git公钥,复制后添加到authorized_keys
文件中。git公钥一般存放在C:\Users\xxx\.ssh\id_rsa.pub
中。如果你的电脑上没有,需要安装git客户端,并生成git公钥。关于此部分,我的另一篇博客使用GitHub-Pages-Hexo-搭建博客中有所介绍,此处不再细讲。
1 | # vim authorized_keys |
注意:粘贴公钥时,注意空格。公钥一行一个。
初始化git仓库
创建一个仓库目录,我放在/home
下面
1 | # mkdir gitrepo |
初始化git仓库,假设项目名叫test
1 | # cd gitrepo/ |
执行完命令后,会在gitrepo
下生成test.git
目录
1 | # ls |
修改仓库的归属权限,否则无法访问git仓库
1 | # chown -R git:git test.git/ |
克隆远程仓库
1 | λ git clone git@192.168.213.130:/home/gitrepo/test.git |