由于公司项目越来越多,原来的小服务器就配置就有点嫌低了;所以就换了台大的服务器,然后需要迁移gitolite。下面是我迁移的过程。
1、在新服务器上搭建gitolite
具体如何搭建参考:http://blog.csdn.net/marujunyy/article/details/8723467
2、迁移老服务器上git的版本库(以下所有命令都是在git用户下操作)
使用scp命令直接把老服务器上的版本库拷贝过来:
scp -r [email protected]:/home/git/repositories ~/
由于redmine使用的是git的镜像,所以还需要把镜像文件也拷贝过来:
scp -r [email protected]:/home/git/redmine.repos ~/
把gitolite的配置文件和用户公钥都拷贝过来:
scp -r [email protected]:/home/git/.gitolite/conf/gitolite.conf ~/.gitolite/conf/
scp -r [email protected]:/home/git/.gitolite/keydir/ ~/.gitolite/
gl-setup ~/.gitolite/keydir/admin.pub
第一、二步花费的时间会比较长 ,因为通常git版本库都比较大;都拷贝好了之后,就可以正常使用了。
2、遇到的问题:
在克隆gitolite-admin到本地的时候发生错误: R access for gitolite-admin DENIED to admin
原因:没有权限下载gitolite-admin
解决办法:修改配置文件,在repogitolite-admin中加上自己的公钥,然后就可以正常克隆了。
sudo nano /home/git/.gitolite/conf/gitolite.conf
repo gitolite-admin
RW+ =admin
gl-setup /tmp/admin.pub
注意:确保admin这个公钥是有效的,如果keydir 里面有多个 相同的公钥(但是文件名不同),gitolite 只承认其中的某一个而忽略其他的。