因一些原因要将原本在gitbucket上的项目迁移到公司内网的gitlab上,期间遇到一个问题,找了半天没找到对应的解决方案,结合错误提示,然后试了试自己的想法,意外给解决了。
需求:从gitbucket迁移到gitlab。并保留所有的提交历史记录
先说说我参考网上的说法:
这个方法本身没错。但是有些细节没讲到。
首先我在gitlab创建了一个项目。
按照上述方法;得到了一个错误提示
报错的意思是这个项目的默认分支不能被删除;gitlab最新版的默认分支是main。已不再是master了。
根据这个报错我就猜想是不是gitbucket的主分支要与gitlab上的主分支名字要一样呢,随后我就开始折腾gitlab了,因为反正是空gitlab,也就瞎折腾了。先是建立了一个master分支,随后将master分支设置为主分支。再次执行push --mirror。还是报错。
随后将main分支删除,再push。就成功了;提交的历史记录也都有;
猜想:若要迁移,gitlab上的项目主分支名要与之前的主分支名一致。其他分支应该会自动创建,如果没有自动创建。则自己建同名分支再push即可。
因公司的项目是单分支的,所以猜想就没实践。