Verschieben Sie das Git-Repository zu einem anderen Github-Benutzer

Lesezeit: 5 Minuten

Benutzer-Avatar
Weltschmerz

Bei Google gibt es viele Antworten, die in die gleiche Richtung weisen, aber bei der Versionskontrolle möchte ich nichts ausprobieren und dann mein Repository durcheinander bringen.

Ich habe ein Repository auf GitHub eingerichtet und möchte es auf einen anderen Benutzer verschieben, damit ich das Repository schließen kann. Er würde mich dann zum Repo einladen, sobald es zu seinem Konto gehört. Ich denke, das ist ein ziemlich häufiger Anwendungsfall für die Arbeit mit Kunden – sobald Sie das Projekt abgeschlossen haben, übergeben Sie es ihnen.

Nun, vorausgesetzt, dies ist möglich, wie würde ich meine lokalen Git-Einstellungen im Projekt ändern, sodass ich jetzt zum/vom neuen Speicherort pushe? Und würde ich durch das Verschieben des Repos den Commit-Verlauf verlieren?

Benutzer-Avatar
Xero

Eines der folgenden wird funktionieren:

  • Übertragen Sie einfach die Eigentümerschaft des Repos auf einen anderen Benutzer und lassen Sie sich von ihm als Mitarbeiter hinzufügen.

  • Wenn jemand Ihr Repo forkt, dann löschen Sie das Original, sein Fork ist immer noch da, es sei denn, es handelt sich um ein privates Repository. Sie können Sie dann als Mitarbeiter in ihrem Fork-Repo hinzufügen.

  • Ein anderer Benutzer kann Ihr Repo einfach klonen (Commits intakt), ein neues Repo auf GitHub erstellen, die Remote-Informationen des neuen Repos hinzufügen und Ihr Repo auf sein neues verschieben. (Dann können sie Sie als Mitbearbeiter hinzufügen.)

  • Ich möchte nur etwas in der gewählten Antwort von xero korrigieren. In der Github-Dokumentation heißt es: „Löschen Sie das Repository, das ALLE Forks löscht. Beachten Sie, dass dies nur private Repositorys betrifft, keine öffentlichen.“ Es sieht also so aus, als ob der obige Kommentar “aber wenn jemand Ihr Repo verzweigt, dann löschen Sie das Original, sein Fork ist immer noch da” nicht korrekt ist, wenn das Repo privat ist.

    – JazzTpt

    4. Dezember 2013 um 0:25 Uhr

  • help.github.com/articles/… Aber wenn sie mit All Fork löschen, sollten die Dateien auf den Computern der Benutzer immer noch mit dem vollständigen Verlauf vorhanden sein, denke ich, oder? Dann könnte ein neues Repository erstellt werden. Aber warum Fork, warum dann nicht klonen? Dann wäre es nicht mit dem Elternteil verknüpft, wie ich es verstehe.

    – Dariux

    23. Juni 2015 um 13:07 Uhr

  • Habe gerade versucht, die Fernbedienung zu wechseln und zu drücken. In meinem neuen Repository gibt es nicht alle Branches. Ich schätze also, die Filialen sind die, die ich auf meinen Computer ausgecheckt habe. Jetzt habe ich nur noch eine Idee – alle Zweige aus dem alten Repo auszuchecken. Aber das sieht nicht nach einem effizienten Weg aus

    – Dariux

    25. Juni 2015 um 5:53 Uhr

  • Beim Forking des Repos werden die Issues nicht kopiert.

    – Friedrich

    14. April 2021 um 14:55 Uhr

Um die Fragen zu beantworten:

  1. Sie würden nichts verlieren – nicht einmal den Verlauf festschreiben. Der Punkt von Git ist, dass es dezentralisiert ist – jeder mit einer Kopie des Repositorys hat alles. Nur das neue Repo.

  2. Es ist einfach, die Git-Einstellungen zu ändern, um sie in das neue Repository zu pushen. Sie können entweder verwenden

    git remote set-url origin git://new.url.here
    

    oder bearbeiten Sie die .git/config Datei.

Ich würde sagen, du solltest:

  1. Übertragen Sie die Eigentümerschaft des Repositorys (oder lassen Sie es vom Client forken).
  2. Ändern Sie Ihre Git-Konfiguration, um sie in das neue Repository zu pushen
  3. Sie sind fertig.

Benutzer-Avatar
der.malkolm

Warum machst du das nicht in github? Übertragen Sie einfach die Eigentümerschaft auf den neuen Benutzer. Gehen Sie zu Einstellungen bei Github.

Besitz übertragen: Übertragen Sie dieses Repo an einen anderen Benutzer oder an eine Organisation, in der Sie über Administratorrechte verfügen.

  • Das scheint nicht so einfach zu sein, wie es sich anhört – es erscheint eine lange Warnung mit vielen Informationen. Was ist, wenn ich Folgendes mache: Der andere Benutzer richtet ein neues Repo ein, ich ändere die Repo-Adresse lokal auf die neue, pushe und lösche mein eigenes Repo. Funktioniert das? Würde der Commit-Verlauf für das neue Repo verloren gehen?

    – Weltschmerz

    3. Januar 2013 um 1:48 Uhr


  • Ja, dein Ansatz wird auch funktionieren. Sie werden keine Geschichte verlieren.

    – die.malkolm

    3. Januar 2013 um 22:40 Uhr

  • Wo haben wir die Möglichkeit, die Übertragung eines Repositoriums auf unser Konto zu akzeptieren?

    – Anshul Sahni

    19. August 2019 um 19:08 Uhr

Dies kann auch direkt mit der Desktop-Version von GitHub auf einem PC erfolgen, ohne CLI zu installieren.

Wie oben von @citruspi angegeben, wenn Sie die Konfigurationsdatei bearbeiten, tun Sie, was dieser Befehl manuell für Sie tut.

git remote set-url origin git://new.url.here

Tut für Sie, wenn Sie CLI haben.

https://stackoverflow.com/a/14132101/3099982

oder bearbeiten Sie die .git/config-Datei.

Schritte unten…

  1. Erstellen Sie /newRepo in Github oder Github Desktop.
  2. Klonen Sie dieses /newRepo auf Ihren lokalen Computer (wenn Sie es nicht in Github Desktop erstellt haben).
  3. Klonen Sie das Repo, das Sie klonen möchten, auch auf Ihren lokalen Computer /wantToCloneRepo.
  4. Löschen Sie den .git-Ordner in /newRepo.
  5. Kopieren Sie die Dateien von /wantToCloneRepo in den lokalen Ordner /newRepo
  6. Bearbeiten Sie die Datei /newRepo/.git/config, in der die Remote-Ursprungs-URL jetzt dem neuen Ziel auf Github entsprechen sollte. IE… https://github.com/DataAutomation/newRepo.git
  7. Schlagen Sie nach, wo verwendet wird, um Herkunft abrufen zu sagen, und es wird Push sagen.
  8. Drücken Sie und es wird Ihr Commit-Verlauf beibehalten und Sie haben ein neues Repo, ohne CLI zu installieren.

Sie würden nichts verlieren. Das ist der Sinn von Git. Jede Kopie des Projekts hat eine vollständige Kopie des Repos – Sie haben es, Github hat es, jeder, der es forkt, hat es.

Die Konfiguration der Fernbedienung ist nur eine Zeile in der .git/config-Datei:

    url = [email protected]:mattneub/Programming-iOS-Book-Examples.git

Sie können die alte Fernbedienung entfernen und eine neue erstellen, aber am einfachsten ist es, diese Zeile von Hand zu bearbeiten.

Hier gibt es kein Geheimnis. Der .git-Ordner und Ihr Repository sind direkt für Ihre Ansicht geöffnet.

1225720cookie-checkVerschieben Sie das Git-Repository zu einem anderen Github-Benutzer

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy