Wie kann ich GitHub vergessen lassen oder trennen, dass mein Repo ursprünglich eine Abzweigung eines anderen Projekts war?
Ich habe ein Projekt in GitHub gegabelt. Ich kann jetzt sehen, "von was auch immer / was auch immer gegabelt". Das übergeordnete Repository "was auch immer / was auch immer" wird nicht mehr verwaltet. Ich durfte weiterhin die Codebasis des ursprünglichen Repositorys verwenden, um ein unabhängiges Repository zu erstellen.
Gibt es eine Möglichkeit, mein Projekt vom ursprünglichen Repository zu trennen?
Sie können das gegabelte Repository von der Github-Benutzeroberfläche in ein neues Repository (ohne die Gabelabhängigkeit) duplizieren und dann das ursprüngliche gegabelte Repository entfernen:
quelle
Stellen Sie sicher, dass Sie alle wichtigen Zweige und Tags in Ihrem lokalen Repo haben, löschen Sie das Github-Repo, erstellen Sie das Repository mit den üblichen Mitteln neu (ohne Verzweigung) und schieben Sie das lokale Repository mit zurück
git push --all
. Beachten Sie, dass es sich möglicherweise lohnt, einen temporären sauberen lokalen Klon für den Vorgang zu erstellen, wenn Sie lokale Zweige haben, die Sie nicht veröffentlichen möchten.Dadurch werden jedoch auch Wiki und Probleme beseitigt. Da das Wiki tatsächlich ein eigenes Repository ist, kann es auf ähnliche Weise behandelt werden, indem es geklont und anschließend neu erstellt und gepusht wird. Die Repo-Adresse befindet sich auf der Git Access-Seite des Wikis (
[email protected]:user/repo.wiki.git
).Dies lässt Probleme. Sie können über die API exportiert werden , aber soweit ich weiß, können Sie nur Probleme und Kommentare mit Ihrer Person erstellen, sodass ein perfekter Import unmöglich ist.
Wenn Sie also Probleme haben möchten, die erhalten bleiben sollen, sollten Sie die Github-Unterstützung in Anspruch nehmen, wie Thomas Moulard vorschlägt.
quelle
Ich habe das ähnliche Problem und habe diese Github-Hilfeseite verwendet , um es zu lösen. Ich hatte nichts gegen das Wiki und den Issues Tracker, da es für mein Blog ein Thema war, das freundlicherweise von einem anderen Benutzer entwickelt wurde.
So lösen Sie ein gegabeltes Repo und verwenden es nach mehreren Commits als Ihr eigenes, ohne den gesamten Verlauf zu verlieren:
git clone --bare [email protected]:user/forked_repo.git
Erstellen Sie eine neue leere Reposity
new-repository
auf der Github-Website. Und schieben Sie eine gespiegelte Version:cd user.github.com.git/
git push --mirror [email protected]:user/new-repository.git
Man kann auf github umbenennen, das
forked_repository
mit einem anderen Namen, um es als Backup zu behalten und Updates bei Bedarf zu überprüfen. Oder einfach löschen.Das Umbenennen des
new-repository
in den ursprünglichen Namen erledigt den Job. Als Nebeneffekt werden Ihre Commits jetzt in Ihrem Verlauf angezeigt.quelle
Dies gilt nur für GitHub Enterprise, nicht für github.com
Angemeldet bei einem Konto mit Administratorrechten:
https://<ghe url>/<org>/<repo>
Dies wurde auf GitHub Enterprise 2.9 getestet
quelle
Mit den Informationen von Aurelien und Clayton konnte ich dies folgendermaßen tun:
Hier ist die Dokumentation für
git clone --bare
:Hier ist die Dokumentation für
git push --mirror
:Hinweis: Wie bei den anderen
git
Antworten werden auch hier keine Probleme kopiert, die nicht Teil desgit
Repos sind, z. B. das Wiki und Probleme. Per Tapio:[email protected]:user/repo.wiki.git
.quelle