Wie erstelle ich ein neues Repository, das ein Klon eines anderen Repositorys ist?
Lesezeit: 4 Minuten
Schienbein
Ich habe ein Projekt „MyfirstProject“ in Github. Jetzt erstelle ich ein weiteres Projekt „SecondProject“, indem ich „MyfirstProject“ klone, da die Kerncodes dieselben sein werden.
Immer wenn ich in „MYfirstProject“ aktualisiere, rufe ich einfach nach Updates.
Jetzt möchte ich ein Repository für dieses „SecondProject“ in Github erstellen, da ich auf verschiedenen Computern arbeiten muss und es andere Codes als „MYfirstProject“ haben wird.
Ich halte eine Verzweigung nicht für richtig, da ich sie nie zusammenführen werde.
Wie kann ich?
Muss ich in ein neues Repository pushen? Hat es keine Auswirkungen auf Pulls von „MyfirstProject“?
Wie geht’s?
Vielen Dank im Voraus.
Fred Foo
Es gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun, darunter auch eine intelligentere, aber ich würde es so machen:
Erstellen Sie ein neues Repo auf Github namens SecondProject.
Klonen Sie lokal Ihre MyfirstProject, entweder von der Festplatte oder von Github. Verwenden Sie dann Git Pull für die Zweige, die Sie zum zweiten Repo verschieben müssen.
Beachten Sie, dass der Klon einen gemeinsamen Verlauf mit behält MyfirstProjectwas nützlich ist, wenn Sie Ihre Meinung über das „Niemals zusammenführen“-Bit ändern.
Kann ich aus dem MyfirstProject ziehen?
– Schienbein
17. Mai 2011 um 18:26
@shin: Sie sollten in der Lage sein, einen Pull durchzuführen, wenn Sie das erste Projekt als Remote-Repository für das zweite hinzufügen.
– gotgenes
17. Mai 2011 um 20:23
@Schienbein: git remote add first git://github.com/yourname/MyfirstProject.gitDann git pull first master (oder git fetch), wann immer Sie Änderungen vornehmen möchten MyfirstProject.
– Fred Foo
17. Mai 2011 um 20:55
git remote set-url origin NEWURL … keine Notwendigkeit, in der Konfigurationsdatei herumzuwühlen.
– Tekkub
17. Mai 2011 um 21:21
Stellen Sie sicher, dass Sie auch die richtige URL haben. Gitlab gibt standardmäßig die URL für eine SSH-Verbindung an. Manchmal bringt mich das zum Stolpern.
– Mark Carpenter Jr
10. Juli 2017 um 19:00 Uhr
Klonen Sie Ihr MyfirstProject auf Ihren lokalen Computer.
Löschen Sie den .git-Ordner
git init
Veröffentlichen Sie Ihr neues Projekt
Jetzt erstelle ich ein weiteres Projekt „SecondProject“, indem ich „MyfirstProject“ klone, da die Kerncodes dieselben sein werden.
Es kommt darauf an, was Sie unter „Kerncodes“ verstehen. Wenn es sich um eine Bibliothek mit allgemeinen Datenstrukturen, Dienstprogrammen usw. handelt, sollten diese alle in einem separaten Git-Repository enthalten sein, und Sie sollten keinen anwendungsspezifischen Code, der auf der Bibliothek basiert, in dieses Repository aufnehmen. Der anwendungsspezifische Code sollte sich in einem separaten, neuen Repository befinden (nicht aus dem Bibliotheks-Repository geklont). Verknüpfen Sie Ihren anwendungsspezifischen Code mit dem Bibliothekscode, so wie Sie es normalerweise mit einer Bibliothek eines Drittanbieters verknüpfen würden.
Wenn Sie stattdessen meinen, dass Sie über eine Anwendung verfügen, aber unterschiedliche Konfigurationen benötigen, je nachdem, auf welchem Computer Sie arbeiten/kompilieren, sollte dies als Zweige im selben Repository und nicht als separater Klon des Git-Repositorys verfolgt werden. Verfügen Sie über einen „Master“-Zweig, der die Standardkonfiguration Ihres Codes enthält (z. B. die Maschine, die Sie am häufigsten verwenden, oder die Produktionsmaschine). Spezifische Konfigurationen für Ihre anderen Maschinen erhalten einen separaten Zweig, zum Beispiel „Laptop“ für Ihren Laptop, „Arbeit“ für Ihren Workstation-Desktop, „Cloud“ für Ihre Amazon EC2-Instanz usw.
Obwohl ich im Allgemeinen damit einverstanden bin, kann es manchmal nützlich sein, einfach etwas Code zu kopieren und Ihr eigenes Projekt zu teilen. Das OP kann die Projekte später jederzeit wieder zusammenführen, auch wenn sie sich in verschiedenen Repos befinden.
– Fred Foo
17. Mai 2011 um 18:01 Uhr
Eine andere Möglichkeit, dies zu tun, könnte darin bestehen, das ursprüngliche Repository (vorübergehend) zu einer „Vorlage“ zu machen –> gehen Sie zur Repository-Seite, wählen Sie „Einstellungen (Zahnradsymbol)“ und aktivieren Sie dann das Kontrollkästchen „Vorlagen-Repository“.
Wenn Sie nun zur Registerkarte „<> Code“ zurückkehren, wird auf der großen grünen Schaltfläche „Diese Vorlage verwenden“ angezeigt. Wenn Sie darauf klicken, werden Sie aufgefordert, ein neues Repository einzurichten, das eine Kopie des Inhalts des alten erhält, die beiden werden jedoch nicht verknüpft. Anschließend können Sie das neue Repository klonen und darin arbeiten.
Sobald dies erledigt ist, möchten Sie vielleicht das Kontrollkästchen „Vorlage“ im ersten Repository deaktivieren, aber es sollte keine große Sache sein, wenn Sie dies nicht tun.
Erstellen Sie Ihr neues Projekt in der GitHub-Benutzeroberfläche. Lassen Sie „Readme.md-Datei erstellen“ deaktiviert. Nach der Erstellung werden Sie zu einem Fenster weitergeleitet, in dem es eine Option namens „… oder Code aus einem anderen Repository importieren“ gibt. Wählen Sie diese Option und Sie können über die GitHub-Benutzeroberfläche Code aus einem Projekt in das neue importieren. GH wird möglicherweise in Zukunft Änderungen am Repo-Erstellungs-Workflow vornehmen, aber das funktioniert heute.
14505000cookie-checkWie erstelle ich ein neues Repository, das ein Klon eines anderen Repositorys ist?yes