在阿里云上搭建Git 服务器

参考文章: http://www.runoob.com/git/git-server.html

操作系统: CentOS 6.5
客户端操作系统:Mac

1、安装Git

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

2、创建一个 git 用户组和用户:

$ groupadd git
$ adduser git -g git

修改 git 用户的shell:

$ vi /etc/passwd

把这一行:

git:x:500:500::/home/git:/bin/bash

改成:

git:x:500:500::/home/git:/usr/bin/git-shell

如果不改 git 用户的shell,在客户端clone时,会报错:
fatal: protocol error: bad line length character: This

3、创建证书登录

创建authorized_keys文件,用于保存用户的公钥:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chown -R git:git .ssh       

最后一行很重要,因为,我使用root用户登录服务器,创建的文件owner都是root。如果不改成git用户,后面clone时会提示输入password。

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

4、初始化Git仓库

选定一个目录作为Git仓库,假定是/data/gitroot/memo.git:

$ cd /data
$ mkdir gitroot
$ chown git:git gitroot/
$ cd gitroot
$ git init --bare memo.git

以上命令创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

$ chown -R git:git memo.git

5、克隆仓库

$ git clone [email protected]:/data/gitroot/memo.git
Cloning into 'memo'...
warning: You appear to have cloned an empty repository.

101.200.xxx.xxx 为 Git 所在服务器 ip ,需要将其修改为你自己的 Git 服务 ip。

你可能感兴趣的:(git)