Git服务器连接可用的协议通常有SSH、GIT、HTTP(S)和FTP等,其中最方便实现的是SSH方式。
SSH方式的GIT服务器实现也有两种方式:如果你在一个小型团队并且不需要做权限控制,那么使用SSH就可以搭建了,否则你还需要gitolite
本文将介绍如何使用SSH实现最简单Git服务器搭建。注意,前面所述的两种实现方式不可同时搭建。如何解决,在写本文时还未探索。想来应该需要在服务器上使用不同用户做隔离吧。
因为公司版本控制使用的是SVN,并没有提供搭建git的服务器,因此我的git服务器搭建在了本机Ubuntu上(为了配合Redmine一起使用,否则没必要搭这个本地服务器)。
准备工作
首先,要保证git服务功能可用。在安装git的时候,你可能安装了git包,而不是git-core包。要提供git服务器功能需要完整安装git-core包(不知道是不是真的,网上大家都这么说,反正我搭建之前已经安装了,没去验证真伪)。
sudo apt-get install git-core
当然,你还需要保证你的SSH服务是可用的
sudo apt-get install openssh-server
服务器用户
之后需要配置git服务用户
$ sudo useradd -c "git server account" -m -r -U git
$ id git
uid=999(git) gid=998(git