2016-04-16 7 views
3

Ich habe mehrere Repository in bitbucket. Was ist am besten geeignet, um von Bitbucket nach Gitlab zu wechseln?Migration von bitbucket zu GitLab

Für ein Beispiel, ich repo auf meinem System namens "TSSP". Was sollten meine Schritte sein, um eine saubere Migration zu gitLab zu haben?

Antwort

2

Es ist besser, ein intermediäres lokales bare repo zu verwenden, um ein entferntes Repo zu duplizieren und es zu einem neuen entfernten Repo zu schieben.

Angenommen, Sie haben einen leeren Gitlab Repo bereit:

git clone –bare [email protected]:old/old_repo.git 
cd old_repo 
git remote add new-origin [email protected]:new/new_repo.git 
git push –mirror new-origin 
cd .. 
git clone [email protected]:new/new_repo.git repo 
cd repo 
# start working 

Beachten Sie, dass dies nicht das Wiki enthalten (which you need to clone as well, wenn Sie einige Inhalte dort haben), oder die Probleme.

+0

Gitlab nicht GitHub. Aber ich stelle mir vor, dass der Prozess derselbe ist. –

+0

@Ste ja, gleiche Idee.Ich habe die Antwort entsprechend geändert. – VonC

1

Ich habe nicht 50 Ruf, also kann ich nicht kommentieren, aber VonC hat recht. Habe etwa zwei Stunden damit verbracht, GitLab's BitBucket-Import-Funktion zum Laufen zu bringen - ich habe es zerstört und einfach einen neuen Ursprung hinzugefügt, den Spiegel neu gepusht und den älteren Ursprung gelöscht. Wenn ich den neuen GitLab-Server betrachte, kann ich alle Commits vom vorherigen Git-Ursprung/Server sehen.

cd /dev-git-repo/ 
git remote add new-origin https://my-gitlab.my-gitlab-repo.com/myrepo-dev-git-repo 
git push --mirror new-origin 
git remote remove origin 

Dann können Sie testen ...

echo "\r\nThis should be seen on GitLab not bitBucket" > README.md 
git commit -m "updated readme.md" 
git push new-origin 

Und Sie können sehen README auf Gitlab und nicht auf bitbucket aktualisiert wurde.

1

Ich hatte dieses Problem heute und die Links in der obigen Antwort veraltet (404 nicht gefunden).Schließlich löste ich es und hier ist die Schritte, wie ich es gemacht und hoffen, dass es für die Menschen hilft, die es

Schritt 1 müssen: Bitbucket

  1. Login Ihr bitbucket Konto

  2. bekam Einstellungen Bitbucket

  3. wählen OAuth (auf der linken Seite im Menü)
  4. wählen Sie hinzufügen Verbraucher
  5. fill in Details:

    • Namen
    • Beschreibung
    • Callback URL
    • URL
  6. Berechtigungen erteilen

    • Konto: E-Mail, Lesen
    • Repositorys: Lesen
    • Pull Requests: Lesen
    • Probleme:
    • Wiki lesen: Lesen und
  7. speichern Sie die Änderungen

Jetzt ist der Schlüssel und geheimen Schreiben erzeugt werden wie: enter image description here

Schritt 2: Gitlab

  1. offen gitlab.rb Datei als root mit vim (Sie Ihren bevorzugten Editor wählen)

    sudo vim /et/gitlab/gitlab.rb

  2. Initialisierung der OmniAuth-Konfiguration für Grundeinstellungen: 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. hinzufügen Bitbucket-Provider-Konfiguration (Schlüssel und Geheimnis wir Gen erated): gitlab_rails['omniauth_providers'] = [ { "name" => "bitbucket", "app_id" => "BITBUCKET_APP_KEY", "app_secret" => "BITBUCKET_APP_SECRET", "url" => "https://bitbucket.org/" } ]

  4. Speichern Sie die Änderungen Datei

  5. Lauf gitlab.rb Befehl gitlab-ctl stop, gitlab-ctl reconfigure und gitlab-ctl start die Änderungen neu zu konfigurieren und neu starten Gitlab.

Jetzt können Sie diese Bestätigung modal sehen: enter image description here