当我们做项目时,总要有一个地方存放源码吧,因为我们是多人协作,就算是一人协作也是需要的。
有时候我们可能需要使用github放源码,但是它的私有仓库是收费的。
那就使用不收费的,比如coding,bitbucket。
或者自己使用gitlab自己搭建一个类似github这样的工具。
但是,总感觉把代码寄放在别人的地方,或者说自己搭起来太麻烦。
是否有更简单的方法呢。
有的。
下面要介绍的方法,是适合团队不大,且不复杂的情况。
如果团队很多人,且权限管理等很复杂,请选择其他方法吧。
2. 使用
既然是在服务器上搭建git服务,那就需要有一台linux的服务器。
第一步:首先安装好git。
$ sudo apt-get install git
第二步:接着创建一个git用户,这个用户很重要,它是来管理git,也是代码的拥有者。
$ sudo adduser git
第三步:使用ssh证书
但凡要下载代码的都是使用git这个用户,但我们又不一定要每次都输入密码,我们使用ssh的证书。
$sudo mkdir /home/git/.ssh$sudo touch /home/git/.ssh/authorized_keys$sudo chown -R git:git /home/git/.ssh
上面做这么多,主要是创建/home/git/.ssh/authorized_keys文件。
如果要下载代码,就把你的公钥上传到authorized_keys文件中,一个一行。
你的公钥地址是~/.ssh/id_rsa.pub。
第四步,创建空仓库。
首先先选一个目录做为放代码的仓库。
比如/home/hfpp2012,我现在在这个目录下:
$sudo git init --bare rails365.gitInitialized empty Git repositoryin/home/hfpp2012/rails365.git/
现在已经建立了一个空的仓库。
$sudo chown -R git:git rails365.git
我们把这个目录的所有者改成git。
第五步:禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1003:1003:,,,:/home/git:/bin/bash
改为:
git:x:1003:1003:,,,:/home/git:/usr/bin/git-shell
现在整个过程都完成了。
可以来测试一下,把你的源码推送到刚才建好的仓库中。
$ git remote add vps git@server:/home/hfpp2012/rails365.git$git push vps master
当然,server是服务器的ip地址。
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。