我需要将几个Gitlab仓库迁移到Bitbucket,发现最简单的方法似乎是:
1.在Bitbucket中创建新的空仓库
2.使用命令
我可以安全地使用这种方法并删除旧的仓库吗?
1.在Bitbucket中创建新的空仓库
2.使用命令
git clone --mirror git@gitlab.com:path/to/repo.git
3.切换到repo.git目录下cd repo.git
4.更改远程仓库地址为Bitbucket上的地址git remote set-url origin git@bitbucket.org:path/to/repo.git
5.使用命令git push --mirror
这种方式可以复制整个仓库,包括标签和所有分支等。我还没有发现这种方法的任何缺点。然而,由于我在互联网上没有看到过这种方法,我担心我可能遗漏了一些东西。我可以安全地使用这种方法并删除旧的仓库吗?
--mirror
的工作原理。总之,如果使用情况适合,我不认为有任何缺点。 - msanford--mirror
的作用是什么,但没有回答使用它来移动存储库是否有任何不利之处。(编辑)啊,你的编辑补充了缺失的信息。谢谢! - Rutger Bresjer--mirror
克隆和推送将复制通过 Git 接口可以复制的所有内容。有一些东西是无法复制的:钩子(您必须通过 Bitbucket 的 Web 界面设置),reflogs(可能两边都没有,因为裸仓库默认不具备它们),以及其他一些通常无法通过 Web 界面触及的东西,例如在某个托管服务器上分叉了您的存储库的人(如果有的话)。 - torekfetch = +refs/*:refs/*, mirror = true
(据我所知,这样的repo不会按预期工作)。我猜你省略了某些步骤。或者可能没有,而是做错了一些事情。我甚至尝试了两种方式:path/to/repo.git
是新的空文件夹,它与你的步骤(1)中的文件夹相同。或者它只适用于Bitbucket。谢谢。 - Martian2020