前言

我们平时git拉取代码,拉取项目都是储存在托管平台的,我们可以使用git的来创建属于自己的git服务器仓库,下面记录一下学习过程。

环境

阿里云Centos7.3
git 2.8.3

安装git

源码包安装git

创建登录证书

也就是存储使用者git公钥的地方

创建git用户和用户组

  1. groupadd git
  2. useradd git -g git

创建密钥仓库

  1. cd /home/git
  2. mkdir .ssh
  3. chmod 755 .ssh
  4. touch .ssh/authorized_keys #git公钥仓库
  5. chmod 644 .ssh/authorized_keys

初始化仓库

创建一个仓库地址,我选择的是/home/githome/下

  1. cd /home
  2. mkdir githome
  3. chown git:git githome/ #权限给git组下的git用户
  4. cd githome
  5. git init --bare demo.git #初始化一个仓库
  6. chown -R git:git demo.git #仓库所属用户改成git

克隆仓库测试

把自己电脑上的git密钥添加创建的authorized_keys里

  1. git clone git@47.106.113.227:/home/githome/demo.git
  2. 正常情况下,会出现以下
  3. Cloning into 'demo'...
  4. warning: You appear to have cloned an empty repository.

一些错误处理

  1. bash: git-upload-pack: command not found

原因是源码包安装的git,没有把/usr/local/git/bin下的一些常用启动项添加/usr/bin下,找不到命令
解决办法

  1. ln -s /usr/local/git/bin/git-upload-pack /usr/bin

同样的问题,上传到库的时候,出现

  1. bash: git-receive-pack: command not found

解决方法如上