git代码库迁移

2017-02-22  本文已影响852人  梦07

代码迁移过程

1.首先确保你在目标服务器上已配置好ssh keys(当然,如果你使用的是http协议,可以忽略这一步)


94367a2e8f9516731af3213dae35a41e.jpg

如何创建和配置ssh keys?
戳这:

7dc7e8bd9c176eb7ea08df740d7f1f16.jpg

2.从源服务器克隆裸版本库到本机

git clone --bare git@gitlab.huayu.nd/xxxx/xxxx.git

此时,会从服务端将版本库克隆到本地当前目录,请确保当前目录为空
,否则,文件混在一起,你懂的.

3.进入到本机 xxxx.git目录:

cd xxxx.git

4.镜像推送代码到目标服务器:

git push --mirror git@git.sdp.nd/xxxx/xxxx.git

经过以上几步,你的git仓库就完整迁移到新的目标服务器上拉,包括所有commit,branch,tag. 一个不少:

55e24527e539e93a7d4fee67172e076c.jpg

WIKI迁移过程:

同上,只要把项目git地址后面加上".wiki"即可.如:

git@git.sdp.nd:edu-cloud-android/edu-people-forum.git

对应wiki:

git@git.sdp.nd:edu-cloud-android/edu-people-forum.wiki.git

本地代码指向:

将本地已有代码库做重定向:
假设当前本地已有起源名称为"origin" --实际上默认的名字都是这个,你可以通过remote命令查看当前git对应的服务器信息,如下:

emp_2292_27.jpeg
  1. 备份已有起源"origin"为"origin_bak"
git remote rename origin origin_bak
  1. 添加新的起源"origin_new",指向git@**git.sdp.nd/xxxx/xxxx.git
git remote add origin_new git@git.sdp.nd/xxxx/xxxx.git
  1. 拉取新建的起源对应的服务器仓库:
git fetch origin_new

假设你使用的是idea,那么在右下角的git分支切换菜单中此时你将看到有如下变化:


7e4e085258d04834f0f16766c920bb89.jpg
ddfeffb3cd37357555fa113be28ec5ec.jpg
  1. 接下去就按平时的操作去checkout就行了.

建议在检出新的远程分支前先将当前已有一些分支删除,否则,你会看到一堆的分支...

附:

其它相关git命令参考:

git checkout -b *new_develop**origin_new/develop*
git branch -d *branch_name*
git fetch -p
git remote remove *origin_name*
上一篇 下一篇

猜你喜欢

热点阅读