因为项目需要,源码不能保存在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服务才可以,否则必须使用绝对路径。