公司最近准备接手另一家公司的APP,人家的代码都部署在人公司自己的服务器上,我们需要把代码整个迁移到我们自己的服务器上,搜了一下说直接打包然后上传的,还有服务器对服务器迁移的,我都试了一下,都不太行,没办法只能人肉迁移,一个一个来。只迁移代码肯定是不太行的,最好就是保留别人代码的提交记录包括分支这些。直接上步骤
1、从原仓库克隆一份裸版本库
git clone --bare git://github.com/username/project.git (老仓库地址)
2、然后到新的 Git 服务器(新gitlab服务)上创建一个新项目 名叫: newproject.git
我创建的项目名称和原来项目名称是一样的,只建项目什么都不做。
然后以镜像推送的方式上传代码到新的项目中
cd project.git (老项目本地地址)
git push --mirror git@example.com/username/newproject.git(新仓库地址)
此步骤需要一个项目一个项目的迁移,所以叫人肉迁移。
根据这个步骤来,到最后一步有的人会遇到没有权限,说明你的项目被保护了,把保护关掉,重新执行最后一句即可。
项目迁移成功之后,可以不用Git clone,直接在旧的项目终端输入一条命令,本地代码的地址就会变成新代码的地址
git remote set-url origin git@example.com/username/newproject.git