我在Bitbucket上有一个大型仓库,我需要导入Github。回购包含了大量我不想丢失的历史信息。我已经用Google搜索,无法找到解释该过程的权威资源。我错过了一些明显的东西吗?
提前致谢!
答案 0 :(得分:2)
我错过了一些明显的东西吗?
在许多情况下,只需添加一个新遥控器并推送到它就可以实现您想要的效果:
git remote add github git@github.com:user/repo.git
git push github master
这会将您的master
分支推送到GitHub。您可以以类似的方式推送其他分支,并且可以使用git push github --tags
推送您的代码。
更全面的选择是使用--mirror
选项,例如
# Add the github remote as above, then
git push --mirror github
--mirror
指定
refs/
下的所有引用(包括但不限于refs/heads/
,refs/remotes/
和refs/tags/
),而不是将每个引用命名为push。到远程存储库。新创建的本地引用将被推送到远程端,本地更新的引用将在远程端强制更新,并且已删除的引用将从远程端删除。如果设置了配置选项remote.<remote>.mirror
,则这是默认值。
请注意,这意味着--force
,所以要小心。有些用户喜欢从远程的新裸克隆(即先做git clone --bare git@bitbucket.com:user/repo.git
)执行此操作,然后从新创建的裸存储库执行其余步骤。