Git 服务器搭建

由于 Git 是一个分布式版本控制系统,所以任何一台安装了 Git 的机器都可以作为远程仓库,提供给项目协助者公共使用。

我们将以 Centos 服务器为例搭建 Git 远程仓库。

1、安装Git

首先需要在 Centos 服务器上安装 Git。

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

2、创建 Git 组和用户

接下来我们创建一个 git 用户组和用户,用来运行 git 服务。

$ groupadd git
$ useradd git -g git

3、创建证书登录

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

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys

4、初始化 Git 仓库

首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/aizws.git,在/home/gitrepo目录下输入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare aizws.git
Initialized empty Git repository in /home/gitrepo/aizws.git/

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

$ chown -R git:git aizws.git

5、使用自建仓库

假定 192.168.1.100 为 Git 服务器 ip,我们就可以使用该服务器克隆项目了。

$ git clone git@192.168.1.100:/home/gitrepo/aizws.git
Cloning into 'aizws'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

下一章:git init 命令

git init 命令用来创建一个新的 Git 仓库。git init 命令既可以用来初始化一个新的空仓库,也可以把一个已经存在的,没有版本控制的仓库转成 Git 仓库。git init 命令的语法:< git init [--bare][directory]。