要将A服务器的Git迁移到B服务器,步骤如下(两台服务器的操作系统都是CentOS7)。
第一步:在B服务器上安装Git+Gitolite
1、root用户登录
2、安装基础包:
yum install perl openssh git
yum install perl-Time-HiRes
3、创建Git用户并设置密码
useradd -d /home/git git
passwd git
4、切换到git用户
su - git
5、获取git
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
ls
注:此时ls结果为:bin gitolite
6、安装gitolite
./gitolite/install -to /home/git/bin/
cd bin/
ls
注:此时ls结果为:commands gitolite gitolite-shell lib syntactic-sugar triggers VERSION VREF
7、切换到root用户
8、配置gitolite管理员
ssh-keygen
cp .ssh/id_rsa.pub /tmp/admin.pub
9、切换到git用户
/home/git/bin/gitolite setup -pk /tmp/admin.pub
ls
注:此时ls的结果为:bin gitolite projects.list repositories
第二步,从A服务器拷贝git仓库文件。
1、登录B服务器的git用户
2、scp -P 端口号 (默认22) -r root@A服务器IP:/home/git/repositories ~/
3、scp -P 端口号 (默认22) -r root@A服务器IP:/home/git/.gitolite/conf/gitolite.conf ~/.gitolite/conf/
4、scp -P 端口号 (默认22) -r root@A服务器IP:/home/git/.gitolite/keydir/ ~/.gitolite/
5、/home/git/bin/gitolite setup -pk ~/.gitolite/keydir/admin.pub
注:第5步需不需要重新设置管理员key文件,视实际情况而定。
第三步,设置开发电脑上的git服务器地址
1、进入windows命令行。
2、cd 本地的git仓库目录。
3、git remote set-url origin git@B服务器IP:仓库名
注:第3步操作前最好先查看一下.git/config文件,根据原有的url值的格式调整"git@B服务器IP:仓库名"这部分内容。
操作完毕。
操作过程中参考了以下链接:
http://www.cnblogs.com/kudosharry/articles/3709418.html
https://blog.csdn.net/marujunyy/article/details/8872960
https://segmentfault.com/q/1010000000124379