logo

Upstream und Downstream

Die Begriffe Upstream und Downstream beziehen sich auf das Endlager. Im Allgemeinen ist „Upstream“ der Ort, an dem Sie das Repository klonen, und „Downstream“ ist jedes Projekt, das Ihre Arbeit mit anderen Werken integriert. Diese Bedingungen sind jedoch nicht auf Git-Repositorys beschränkt.

In Git gibt es zwei verschiedene Kontexte für Upstream/Downstream: Remotes und Zeit/Verlauf. Beim Verweis auf Remote-Upstream/Downstream wird das Downstream-Repository aus dem Upstream-Repository abgerufen. Die Daten fließen auf natürliche Weise nach unten.

Im Bezug auf Zeit/Geschichte kann es unklar sein, denn stromaufwärts in der Zeit bedeutet stromabwärts in der Geschichte und umgekehrt. Daher ist es besser, wenn wir im Falle von Zeit/Verlauf die Begriffe „Eltern/Kind“ anstelle von „Upstream/Downstream“ verwenden.

Git-Einrichtung im Upstream

Mit git set-upstream können Sie den Standard-Remote-Zweig für Ihren aktuellen lokalen Zweig festlegen. Standardmäßig legt jeder Pull-Befehl den Master als Ihren Standard-Remote-Zweig fest.

Manchmal versuchen wir, einige Änderungen auf den Remote-Server zu übertragen, aber es wird ein Fehler wie „ Fehler: Einige Refs konnten nicht auf „https“ verschoben werden: .' Möglicherweise haben Sie Ihren Remote-Zweig nicht festgelegt. Wir können den Remote-Zweig für den lokalen Zweig festlegen. Wir werden den folgenden Prozess implementieren, um den Remote-Server einzurichten:

Um den Remote-Server zu überprüfen, verwenden Sie den folgenden Befehl:

 $ git remote -v 

Es ergibt sich wie folgt:

Git Upstream und Downstream

Die obige Ausgabe zeigt den Namen des Remote-Servers an. Um den Remote-Server besser zu verstehen, klicken Sie hier . Überprüfen Sie nun die verfügbaren Zweige und führen Sie den folgenden Befehl aus:

 $ git branch -a 

Es ergibt sich wie folgt:

Git Upstream und Downstream

Der obige Befehl listet die Zweige im lokalen und Remote-Repository auf. Um mehr über Filialen zu erfahren, klicken Sie hier. Übertragen Sie nun die Änderungen auf den Remote-Server und legen Sie den jeweiligen Zweig als Standard-Remote-Zweig für das lokale Repository fest. Führen Sie den folgenden Befehl aus, um die Änderungen zu übertragen und den Remote-Zweig als Standard festzulegen:

 $ git push --set-upstream origin master 

Der obige Befehl legt den Master-Zweig als Standard-Remote-Zweig fest. Um den Ursprungsmaster besser zu verstehen klicken Sie hier .

Betrachten Sie die folgende Ausgabe:

Git Upstream und Downstream

In der angegebenen Ausgabe ist alles mit dem Remote-Zweig auf dem neuesten Stand.

Wir können den Standard-Remote-Branch auch mit dem Befehl git branch festlegen. Führen Sie dazu den folgenden Befehl aus:

 $ git branch --set-upstream-to origin master 

Führen Sie den folgenden Befehl aus, um standardmäßige Remote-Zweige anzuzeigen:

 $ git branch -vv 

Betrachten Sie die folgende Ausgabe:

Git Upstream und Downstream

Die obige Ausgabe zeigt die im Repository verfügbaren Zweige an. Wir können sehen, dass der Standard-Remote-Zweig durch hervorgehobene Buchstaben angegeben wird.