Wie erstelle ich ein neues Repository, das ein Klon eines anderen Repositorys ist?

Lesezeit: 4 Minuten

Shins Benutzeravatar
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 Foos Benutzeravatar
Fred Foo

Es gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun, darunter auch eine intelligentere, aber ich würde es so machen:

  1. Erstellen Sie ein neues Repo auf Github namens SecondProject.
  2. 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.
  3. git remote set-url origin [email protected]:yourname/SecondProject.git
  4. Drück es.

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

  1. Klonen Sie Ihr MyfirstProject auf Ihren lokalen Computer.
  2. Löschen Sie den .git-Ordner
  3. git init
  4. 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.

1450500cookie-checkWie erstelle ich ein neues Repository, das ein Klon eines anderen Repositorys ist?

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

Privacy policy