wake-up-neo.net

Git-Repository von GitHub zu GitLab zusammenstellen

Angenommen, ich würde gerne eine Lösung für ein Projekt einer anderen Person implementieren. Dieses Projekt befindet sich auf GitHub.

Ich könnte eine Gabel auf GitHub erstellen und den Fix implementieren.

Ich möchte jedoch meinen Fork auf GitLab anstatt auf GitHub erstellen.

Ist das möglich? Wie?

Ich habe diesen Artikel gelesen: https://about.gitlab.com/2016/12/01/how-to-keep-york-up-to-date-with-its-Origin/

Ich bin mir jedenfalls nicht sicher, was ich in meinem Fall tun soll.

  • Soll ich auf GitLab irgendwie eine Abzweigung auf GitLab des Projekts erstellen?
  • Oder sollte ich einen GitLab-Spiegel des Projekts aus GitHub erstellen?
  • Oder sollte ich einen Spiegel für GitLab erstellen und dann den Spiegel verzweigen?
  • Oder soll ich etwas ganz anderes machen?

Was ist der richtige Ansatz?.

Vielen Dank.

UPDATE

Die Repository-Spiegelung auf GitLab ist wahrscheinlich nicht sinnvoll. Ich kann einen Spiegel von MY GitHub-Repository in GitLab erstellen, aber ich kann keinen Spiegel eines Repositorys von jemand anderem erstellen.

https://docs.gitlab.com/ee/workflow/repository_mirroring.html

Das habe ich bisher gemacht:

Ich habe das ursprüngliche GitHub-Projekt auf meinen lokalen Rechner geklont. Ich habe den Fix für einen neuen Zweig in meinem lokalen Repository festgelegt. Ich habe ein leeres Projekt in GitLab erstellt. Ich habe Origin in meinem lokalen Repository auf dieses leere Projekt in GitLab gesetzt und beide Zweige nach GitLab verschoben. Ich habe Upstream in meinem lokalen Repository zum GitHub-Repository eingerichtet.

Wenn ich neue Commits aus dem ursprünglichen GitHub-Repository in das Repository in GitLab holen (d. H. Die Repositorys synchronisieren) möchte, kann ich dies mit meinem lokalen Repo als Zwischenschritt tun. Es gibt jedoch keine direkte Verbindung zwischen dem Repo auf GitHub und dem Repo auf GitLab. Ist mein Setup korrekt? Gibt es einen Unterschied, wenn ich GitHub aufspalte?

20
Cimlman

Wenn Sie nur Änderungen nachverfolgen möchten, erstellen Sie zunächst ein leeres Repository in GitLab (oder was auch immer Sie sonst noch verwenden) und klonen Sie es auf Ihren Computer.

Fügen Sie dann das GitHub-Projekt als " upstream " - Remote mit hinzu:

git remote add upstream https://github.com/user/repo

Jetzt können Sie den Upstream abrufen und ziehen, falls Änderungen vorgenommen werden. (Sie können auch darauf drücken oder zusammenführen, wenn Sie über Zugriffsrechte verfügen.)

git pull upstream master

Zum Schluss noch einmal zu Ihrem eigenen GitLab-Repository zurückkehren:

git Push Origin master

Wenn Sie Upstream/Push Origin nicht manuell importieren möchten, bietet GitLab eine Spiegelungsfunktion in Einstellungen => Repository => Repositorys spiegeln.

29
CJxD

Das Auffinden eines privaten github-Repositorys ist möglich.

  1. Klicken Sie auf neues Projekt
  2. Wählen Sie Import aus
  3. Github auswählen
  4. OAuth2 zur Authentifizierung und automatischen Erstellung der Gitlab-App
  5. Wählen Sie das zu verzweigende Projekt aus

Ich habe das gerade mit einem privaten Repo auf github gemacht, der erfolgreich importiert wurde (inkl. Filialen usw.). Importiertes Projekt wird automatisch privat gehalten;)

1
Daithí

Ich kann nicht wirklich sehen, wie GitLab hier passt.

Wenn sich das Projekt auf GitHub befindet, verwenden sie wahrscheinlich GitHub-Pull-Requests. Daher ist es nicht sinnvoll, ihr Projekt nach GitLab zu verschieben.

Verzweigen Sie einfach ihr GitHub-Repository und stellen Sie eine Pull-Anfrage an GitHub, wenn Sie dazu beitragen möchten. Wenn Sie aus irgendeinem Grund absolut keinen Beitrag bei GitHub leisten können, könnten Sie einen Patch erstellen und ihn per E-Mail an den Betreuer senden.

1
tehp

Nur für den Browser:

  1. Erstellen Sie ein neues Projekt in Gitlab (Nur ein leeres Projekt mit einem Namen ist in Ordnung)
  2. Gehen Sie zu Einstellungen -> Respository
  3. Geben Sie die GitHub-URL unter "Mirroring-Repositorys" ein.
  4. Stellen Sie sicher, dass "Spiegelrichtung" "Ziehen" ist.
  5. Klicken Sie auf die Schaltfläche "Repository spiegeln"
  6. Drücken Sie das Sync-Symbol neben dem angezeigten Eintrag
0
aksh1618