GitHub就是一个免费托管开源代码的远程仓库。既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。 本文演示如何使用Ubutun 16.04搭建一台git服务器。 搭建之前建议先 apt-get update
一下,可以避免一些错误。
安装并配置git
sudo apt-get install git
git config --global user.name 'xx'
git config --global user.email 'xx'
创建一个git用户,用来运行git服务
sudo adduser git
创建证书登录
第三步,创建证书登录:
sudo apt-get ssh
sudo ssh-keygen -t rsa -C "email"
上述命令会生成id_rsa.pub 文件,在生成的过程中,为了不那么复杂,一路回车就行了。
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
初始化Git仓库:
先选定一个目录作为Git仓库,假定是/home/git/profile/test.git,在/home/git/profile/目录下输入命令:
sudo git init --bare test.git
sudo chown -R git:git sample.git #将所有着改为git
禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
克隆远程仓库
$ git clone git@server:/home/git/profile/test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
剩下的推送就简单了。