如何将GitHub问题和Wiki导入BitBucket?

如何将GitHub问题和Wiki导入BitBucket?,git,github,repository,project-management,bitbucket,Git,Github,Repository,Project Management,Bitbucket,最近,我们决定将项目从GitHub迁移到BitBucket。目前,我只测试了几个项目,因为BitBucket具有直接导入功能。除了GitHub问题,一切都很好,Wiki也没有导入。由于大多数项目仍在开发中,有些项目还在生产中,所以问题和wiki对我们来说很重要 我在谷歌上快速搜索,却找不到合适的解决方案 有什么解决方案吗?github和bitbucket都有针对问题(,)的REST API,因此您可以编写(相当)快速的脚本来迁移问题。但是,GitHub没有Wiki的API(Bitbucket有)

最近,我们决定将项目从GitHub迁移到BitBucket。目前,我只测试了几个项目,因为BitBucket具有直接导入功能。除了GitHub问题,一切都很好,Wiki也没有导入。由于大多数项目仍在开发中,有些项目还在生产中,所以问题和wiki对我们来说很重要

我在谷歌上快速搜索,却找不到合适的解决方案


有什么解决方案吗?

github和bitbucket都有针对问题(,)的REST API,因此您可以编写(相当)快速的脚本来迁移问题。但是,GitHub没有Wiki的API(Bitbucket有),因此,很遗憾,您可能必须手动完成此操作。

我也在搜索将GitHub问题导入Bitbucket的方法,但没有找到,因此我编写了一个脚本来完成此操作:


对于wiki,它是一个Git存储库,您可以简单地克隆它

今天,我们向Bitbucket添加了适当的问题导入和导出。您可以将整个回购协议的问题跟踪器作为zip导出,然后在其他回购协议上重新导入

您还可以创建自己的ZIP,这样您就可以编写与其他问题跟踪程序(例如GitHub)之间的迁移脚本

详情:


文件格式和数据布局:

以下是我找到的最简单的解决方案:

cd $HOME/dev/Pipelines
git remote rename origin bitbucket
git remote add origin https://github.com/edwardaux/Pipelines.git
git push origin master
当您对Github满意并且不需要旧的遥控器时:

git remote rm bitbucket

这是Erik van Zijst的资源的逐步版本:

它一步一步地展示了如何做到这一点。希望这能为你节省一些时间


我能够将所有Github问题导入BitBucket

还有另一个用python编写的工具,用于将github问题导出为bitbucket问题导出格式


您可以在

上查看,我也遇到了同样的问题,因此我编写了一个Python脚本来帮助我的团队将问题数据从GitHub迁移到BitBucket:


此脚本以BitBucket友好的JSON格式输出问题数据。正如上面Erik van Zijst所指定的那样,Atlassian提供了用于和的文档。

关于wiki的API,GitHub wiki也是一个。您可以
git clone
it,处理它并通过Bitbucket的API将其推送到Bitbucket。它似乎已损坏:/usr/lib/ruby/vendor\u ruby/json/common.rb:155:in
initialize”:json文本必须至少包含两个八位字节!(JSON::ParserError)from/usr/lib/ruby/vendor_ruby/JSON/common.rb:155:in
new“from/usr/lib/ruby/vendor_ruby/JSON/common.rb:155:in“parse”但这不会迁移问题或wiki。它通常比迁移代码要复杂一点。同样,对于您的特定脚本:1)问题是从github迁移到bitbucket,而不是从github迁移到bitbucket;2) 它不会迁移标记,有时也不会迁移分支(您必须显式地拉动和推动它们,
push--all
push--tags
非常有用)。关于如何从github的数据创建这样的存档的链接或示例在这里非常有用。现在。。。这篇文章非常简单地展示了如何做到这一点: