搭建Git服务器
GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
机器的操作系统:centos5
一、安装Git:
该版本没有git源,yum install git提示No package git available,于是选择源码安装,地址:https://github.com/git/git/archive/master.zip
下载完成后解压
$ unzip git-master.zip
安装:
$ cd git-master
$ make
$ make install
输入git命令,有提示则安装成功
二、创建一个git用户,用来运行git服务:
$ adduser git
三、创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
$ cat id_rsa.pub >> /home/git/.ssh/authorized_keys
四、初始化Git仓库:
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
$ git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
$ chown -R git:git sample.git
五、禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/root/bin/git-shell
git-shell的位置视安装位置而定,这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
$ git clone git@192.168.1.134:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
我在这一步时出现
![](data:image/png;base64,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)
原因是现在git-shell归root所有,git用户没有权限,我把git加到root组解决:
$
usermod -g root git
问题解决:
![](data:image/png;base64,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)
参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000