it-swarm.com.de

Wann aktualisiert git die Liste der entfernten Zweige?

Mit git branch --all werden alle remote und local Zweige angezeigt. Wann aktualisiert Git diese Liste? Beim Ziehen/Drücken? Und wie aktualisiere ich es mit git bash?

Vielen Dank euch allen!

357
BendEg

Zeigt alle lokalen und entfernten Zweige an, über die (lokale) git Bescheid weiß

git branch -a

So aktualisieren Sie die lokale Liste der Remotezweige:

git remote update Origin --Prune
925
centralcmd

Ich glaube, dass, wenn Sie git branch --all aus der Bash ausführen, die die Liste der entfernten und lokalen Zweige widerspiegelt, die Sie sehen, was Ihr lokaler Git zum Zeitpunkt der Ausführung des Befehls "weiß". Da Ihr Git in Bezug auf die lokalen Zweige in Ihrem System immer auf dem neuesten Stand ist, ist die Liste der lokalen Zweige immer korrekt. Für entfernte Zweige muss dies jedoch nicht der Fall sein. Ihr lokaler Git kennt nur entfernte Zweige, die er beim letzten Abruf (oder Pull) gesehen hat. Es ist also möglich, dass Sie git branch --all ausführen und nicht einen neuen Remote-Zweig anzeigen, der nach beim letzten Abrufen oder Ziehen angezeigt wurde.

Um sicherzustellen, dass Ihre lokale nd Zweigstellenliste auf dem neuesten Stand ist, können Sie git fetchvorgit branch --all ausführen.

Für weitere Informationen sind die "entfernten" Zweige, die erscheinen, wenn Sie git branch --all ausführen, überhaupt nicht wirklich entfernt, sondern tatsächlich lokal. Angenommen, auf der Fernbedienung befindet sich ein Zweig namens feature, den Sie mindestens einmal in Ihren lokalen Git gezogen haben. Sie werden Origin/feature als Zweig sehen, wenn Sie git branch --all ausführen. Aber dieser Zweig ist eigentlich ein lokaler Git-Zweig. Wenn Sie git fetch Origin ausführen, wird dieser Verfolgungszweig mit allen neuen Änderungen von der Fernbedienung aktualisiert. Dies ist der Grund, warum Ihr lokaler Status möglicherweise veraltet ist, da möglicherweise neue Zweigstellen in der Ferne vorhanden sind oder Ihre Verfolgungszweige veraltet sind.

25
Tim Biegeleisen

Das OP hat nicht für alle Fernbedienungen eine Bereinigung angefordert, sondern für alle Zweige der Standardfernbedienung.

Also sollte git fetch --Prune verwendet werden.

Durch die Einstellung von git config remote.Origin.Prune true wird --Prune automatisch. In diesem Fall werden nur git fetch veraltete entfernte Zweige von der lokalen Kopie entfernt. Siehe auch Automatisch mit Git Fetch oder Pull beschneiden .

Beachten Sie, dass dadurch keine lokalen Zweige bereinigt werden, die keinen Remote-Zweig mehr verfolgen. Siehe https://stackoverflow.com/a/54484443/869951 .

12
Oliver

Verwenden Sie git fetch, um alle zuletzt erstellten Zweige abzurufen.

1
vvv

Wenn Sie Eclipse verwenden und neue Zweige vom Upstream aus anzeigen möchten;

Klicken Sie in der Git-Perspektive mit der rechten Maustaste auf das Git-Repository und wählen Sie "Vom Upstream holen". Dadurch werden neue entfernte Zweige abgerufen.

0
Selman Gun