近在项目开发中,有时需要将老git仓库中的部分或者全部分支迁移到另外一个新的仓库对应的分支上,并且需要保存老仓库分支的提交记录。其实这个完全不需要任何资料查询,因为空的仓库中有各类提示。
已有本地数据,上传至新仓库
新建空仓库后,会有相应提示如下
其中origin建议修改。
进入下载好的仓库目录
1 | cd 项目/ |
将目标地址添加到该项目
1 | git remote add origin2 完整的仓库地址 |
其中origin2是随意命名,由于origin往往是原始仓库地址,故更改。
下面的origin2和上面的保持一致
1 | git push -u origin2 --all |
至此,迁移完成。
创建仓库时直接选择导入
在新建仓库一步,应当有导入选项,比如gitee(自己建的git正常也支持的):
关于url填写根据提示填写,自建git往往是url中包含账号密码:
1 | https://账号:密码@仓库地址 |
如果账号或者密码包含特殊符号@,则需要转义,使用java代码可获得转义值:
1 | String c = URLEncoder.encode("@","utf-8"); |
转义后是
1 | %40 |