从现有git
仓库迁移到新的仓库,包括git
的代码提交记录、git
分支、git
的issue
等, 我们可以通过下面的方式进行迁
首先进入我们要迁移的项目中 ( 旧项目中某个分支 )
然后依次执行如下命令
cd <项目目录>
git fetch --all
git fetch --tags
git remote rename origin old-origin # 该行直接执行, git remote rename origin old-origin
git remote add origin http://git.XXXX.com/XXX/XXX.git (项目的新仓库地址)
git push origin --all
git push --tags
# 有多个分支的话,就切换到另一个分支继续提交:
git checkout dev(分支名称)
git push origin --all
方法二:解决仓库限制大小问题,使用以下命令:
1)在本地代码仓库上一级目录,下载jar包:curl -O https://Maven仓库/devops-release-generic-local/code/bfg-1.14.0.jar
2)cd <本地代码仓库,如:test.git> && git gc && git count-objects -vH && cd ..
3)java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 64M --no-blob-protection --private <本地代码仓库,如:test.git>
4)cd <本地代码仓库,如:test.git> && git reflog expire --expire=now --all && git gc --prune=now --aggressive
5)git count-objects -vH
6)git remote add target <目标代码仓库url>
7)git push target --all
8)git push target --tags
ps:通过该方式清理的大文件如果影响到后续用到的cicd功能,可以通过制品库完成必要大文件的一个上传存储