it-swarm.com.de

Git aus einem anderen Repository ziehen

Ich habe ein Repository namens Generic, das eine generische Anwendung ist. Ich habe es in ein Repository mit dem Namen Acme aufgeteilt, das nur auf dem in der Anwendung gespeicherten Repository Generic aufbaut und dieses um das Acme Co-Branding erweitert.

Wenn ich Änderungen an der Kernfunktionalität in Generic vornehme, möchte ich das Repository Acme mit den neuesten Änderungen aktualisieren, die ich an der Kernfunktionalität in Generic vorgenommen habe. Wie würde ich das machen?

Soweit ich das beurteilen kann, versuche ich im Wesentlichen, die in einem Upstream-Repository vorgenommenen Änderungen mit dem aktuellen Zweig zusammenzuführen.

Wenn es etwas bedeutet, versuche ich dies zu tun, weil ich eine generische Anwendung habe, auf die ich dann aufbaue und die ich für einzelne Kunden brandmarken kann (wie in diesem Beispiel Acme). Wenn es einen saubereren Weg gibt, lassen Sie es mich wissen.

77
Libbux

Geben Sie den folgenden Befehl in Ihrem Repo Acme ein. Es wird ein neues Remote-Repository mit dem Namen upstream hinzugefügt, das auf das Repository Generic verweist.

git remote add upstream https://location/of/generic.git

Sie können dann alle Änderungen, die an Generic vorgenommen wurden, mit dem folgenden Befehl in den aktuellen Zweig in Acme einfügen:

git pull upstream

Wenn Sie nur die Änderungen herunterladen möchten, ohne sie automatisch zusammenzuführen, verwenden Sie git fetch anstatt git pull.

Wenn Sie das Pushen in dieses Repository deaktivieren möchten, setzen Sie die Push-URL mit etwas wie auf eine ungültige URL

git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP"

Git schreit dich jetzt an, dass du kein Repo finden kannst, wenn du versuchst, auf upstream zu pushen.

104
McLovin