从bitbucket迁移到GitLab

时间:2016-04-16 04:15:27

标签: version-control bitbucket gitlab

我在BitBucket中有多个存储库。从BitBucket迁移到GitLab最合适的方法是什么?

举个例子,我在我的系统上维护一个名为“SSSP”的仓库。我应该将该存储库从BitBucket彻底迁移到GitLab的步骤是什么?

5 个答案:

答案 0 :(得分:4)

我认为通过网络界面使用导入功能比克隆和推送每个回购更简单。

GitLab Documentation - Import your project from Bitbucket to GitLab

此外,在这种情况下,Gitlab可以导入问题。

答案 1 :(得分:3)

最好使用中间本地bare repo来复制一个远程仓库并将其推送到新的远程仓库。

假设你准备好一个空的gitlab repo:

git clone –bare git@bitbucket.com:old/old_repo.git
cd old_repo
git remote add new-origin git@gitlab.com:new/new_repo.git
git push –mirror new-origin
cd ..
git clone git@gitlab.com:new/new_repo.git repo
cd repo
# start working

请注意,这不包括维基(which you need to clone as well,如果您有某些内容)或问题。

答案 2 :(得分:3)

我今天遇到了这个问题,上面的答案中的链接已过时(404 Not Found)。最后我解决了这个问题,这就是我如何制作它并希望它对需要它的人有所帮助

第1步:Bitbucket

  1. 登录您的bitbucket帐户

  2. 进入Bitbucket设置

  3. 选择OAuth(左侧菜单)
  4. 选择添加消费者
  5. 填写详细信息:

    • 名称
    • 描述
    • 回调网址
    • URL
  6. 授予权限

    • 帐户:电子邮件,阅读
    • 存储库:阅读
    • 拉请求:阅读
    • 问题:阅读
    • Wiki:读写
  7. 保存更改

  8. 现在密钥和密钥生成如下: enter image description here

    第2步:GitLab

    1. 使用vim以root身份打开gitlab.rb文件(您可以选择您喜欢的编辑器)

      sudo vim /et/gitlab/gitlab.rb

    2. 初始化OmniAuth配置以进行初始设置: gitlab_rails['omniauth_enabled'] = true gitlab_rails['omniauth_allow_single_sign_on'] = ['saml', 'twitter'] gitlab_rails['omniauth_auto_link_ldap_user'] = true gitlab_rails['omniauth_block_auto_created_users'] = true

    3. 添加Bitbucket提供程序配置(我们生成的密钥和密码): gitlab_rails['omniauth_providers'] = [ { "name" => "bitbucket", "app_id" => "BITBUCKET_APP_KEY", "app_secret" => "BITBUCKET_APP_SECRET", "url" => "https://bitbucket.org/" } ]

    4. 将更改保存到gitlab.rb文件

    5. 运行命令gitlab-ctl stopgitlab-ctl reconfiguregitlab-ctl start以重新配置更改并重新启动gitlab。
    6. 现在你可以看到这个确认模式: enter image description here

答案 3 :(得分:0)

didDeselectRowAt

将在本地计算机上从bitbucket创建克隆(需要从Bitbucket克隆数据的适当权限)

1.git -c http.sslVerify=false clone https://user@bitbkt:8443/scm/config.git
克隆后

进入基础文件夹

 2.cd  config

在GitLab(xyz)上创建了特定组,并在其中创建了配置项目。

 3.git remote add sxm https://test.com/gitlab/xyz/config.git

将在GL Gitlab上推送BitBucket代码。

答案 4 :(得分:0)

如果您使用bitbucket-server和gitlab-ce。

首先,打开gitlab-ce管理界面,创建一个新组bitbucket-import。后记会在该组中创建一个新项目,以便应创建文件夹/var/opt/gitlab/data/repositories/bitbucket-import

然后,将裸存储库从bitbucket-server数据文件夹复制到gitlab-ce数据文件夹:

cp -r /var/atlassian/application-data/stash/shared/data/repositories/* /var/opt/gitlab/data/repositories/bitbucket-import

将所有文件夹从{folder}重命名为{folder} .git。 Gitlab-ce需要以.git结尾才能导入存储库。

/var/opt/gitlab/data/repositories/bitbucket-import/
rename -n s/$/.git/ * # Dry run
rename s/$/.git/ * # Renaming

导入存储库:

chown -R git:git /var/opt/gitlab/data/repositories/bitbucket-import/
gitlab-rake gitlab:import:repos['/var/opt/gitlab/data/repositories/'] RAILS_ENV=production

现在,您可以在gitlab管理界面中看到通过bitbucket ID表示的导入git存储库。这是查找真名的方法:

http://your-bitbucket-stash-server/rest/api/1.0/repos?limit=1000&start=0

转到gitlab-ce项目设置->“高级”,然后重命名您的存储库。

亲切的问候。