搭建Git服务器

因为项目需要,源码不能保存在GitHub上面,所以在自己的Linux服务器上面打架一个源码管理的系统,当然首选是Git的服务器,看了网上面的很多教程,还是不够清楚,现在记录下。

安装Git

(服务器,root下)
yum install git

配置Git

$ git config –global user.name “Your Name”
$ git config –global user.email “email@example.com”

创建git账户

(服务器,root下)创建账号
useradd -r -s /bin/sh -c ‘git version control’ -d /home/git -m git
mkdir -p /home/git
chown git:git /home/git

注意:
-r 系统状态
-s login shell of the new account
-c 备注
-d 指定home目录
-m 创建home目录

创建.ssh文件夹和authorized_keys文件

(服务器,git下)
ssh-keygen -t rsa -C “email@example.com”
执行上面的命令,一路回车,都使用默认的即可,机会在git账户下面创建.ssh的目录,里面有两个文件:
id_rsa —–私钥
id_rsa.pub —–公钥

touch authorized_keys
创建authorized_keys文件

cat id_rsa.pub >> authorized_keys
将公钥添加到authorized_keys文件中

设置.ssh文件夹和authorized_keys文件的权限

(服务器,git下)
chmod -R 700 .ssh
执行结果如下
drwx—— 2 git git 4096 Sep 1 23:31 .ssh
chmod 600 authorized_keys
执行结果如下
-rw——- 1 git git 2399 Sep 1 23:31 authorized_keys

创建Git裸仓

(服务器,git下)
mkdir sample.git
创建一个git仓,绝对路径为/home/git/sample.git
git init –bare sample.git
初始化git裸仓

添加下载代码的机器账户的公钥

(本地)
ssh-keygen -t rsa -C “email@example.com”
执行上面的命令,一路回车,都使用默认的即可
复制 id_rsa.pub 里面的内容,添加到服务器的authorized_keys文件中

验证公钥是否成功添加

(本地)
ssh git@serverIP
能成功登录,说明公钥添加成功

下载代码

(本地)
git clone git@serverIP:/home/git/sample.git
执行上面的下载代码的命令,即可下载

开启Git服务

如果想让下载的路径跟GitHub类似,及git@serverIP:git/sample.git
需要开启Git服务才可以,否则必须使用绝对路径。