1. 搭建环境
ubuntu 14.04 desktop
服务器:用户:git
IP: 192.168.123.132
2. 搭建过程
2.1 安装git工具:(服务器端)
sudo apt-get install git openssh-client openssh-server openssh-sftp-server
2.2 搭建gitolite服务器
客户端:
生成ssh密钥:ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub git@192.168.123.132:/tmp/lyan.pub
服务器端:
下载gitolite源码:
cd ~
git clone http://github.com/sitaramc/gitolite
安装Gitolite(服务器端)
mkdir -p ${HOME}/bin
${HOME}/gitolite/install -to ${HOME}/bin
设置SSH public key(服务器端)
${HOME}/bin/gitolite setup -pk /tmp/lyan.pub
3. 配置git服务器
3.1 测试
克隆Gitolite管理库(客户端)
git clone git@192.168.123.132:gitolite-admin.git
你可以看到在管理库里,有两个目录, conf/和keydir/,其中conf/下面有个名为gitolite.conf的配置文件。
- conf/gitolite.conf 用于Git项目配置,访问权限设置。
- keydir/ 用于存储用户的SSH public key(公钥)。
Git项目配置和访问权限设置请看Gitolite的README.txt文档。
3.2 配置Git项目(客户端)
为了增加Git项目到Gitolite服务器,有两种方法:
3.2.1添加一个新的Git项目
- 修改gitolite.conf
例如,新建一个名为foo的Git项目,首先你需要在conf/gitolite.conf里注册foo项目。
假设你已经克隆了gitolite-admin.git项目,编辑conf/gitolite.conf,增加下面的内容【3】。
- repo foo
- RW+ = @all
然后提交这部分修改,并push到远程。
- 设置Git项目
3.2.2添加一个存在的Git项目
如果你有一个已经存在的项目,也想将其添加到Gitolite的服务器里。这很简单,但是首先你依然需要在gitolite.conf里注册
这个项目。然后执行下面的操作:
- cd foo
- git remote rm origin
- git remote add origin git@192.168.123.132:foo.git
- git push origin master
如果你有多个branch,那么checkout到那个branch,执行
- git push origin <branch-name>