Entfernte Verzweigungen in Git beschneiden
In diesem Artikel wird gezeigt, wie Remote-Tracking-Zweige entfernt (bereinigt) werden, die in Remote-Repositories gelöscht wurden.
Zum Beispiel arbeiten Alice und Bob an einem Branch feature/shared-branch
. Bob erstellt eine Pull-Anforderung, führt feature/shared-branch
zusammen und löscht sie.
Sie führt git pull origin feature/shared-branch
auf Alices Seite aus.
$ git branch -a
* feature/shared-branch
main
remotes/origin/feature/shared-branch
remotes/origin/main
$ git pull origin feature/shared-branch
fatal: couldn't find remote ref feature/shared-branch
Obwohl remotes/origin/feature/shared-branch
unter git branch -a
erscheint, wird die Ausführung von git pull origin feature/shared-branch
immer noch einen Fehler auslösen, da feature/shared-branch
bereits gelöscht wurde das Remote-Repository.
Um das Problem zu lösen, sollte Alice die Referenz feature/shared-branch
bereinigen, sie lautet remotes/origin/feature/shared-branch
. Sie könnte git remote prune origin
ausführen.
$ git remote prune origin
Pruning origin
URL: git@github.com:stwarts/git-demo.git
* [pruned] origin/feature/shared-branch
git remote prune origin
führt eine Überprüfung durch. Remote-Tracking-Zweige, die nicht im Remote-Repository vorhanden sind, werden entfernt.
feature/shared-branch
wurde von Bob gelöscht. Seine Remote-Tracking-Zweige remotes/origin/feature/shared-branch
werden in der Alice-Maschine entfernt, nachdem sie git remote prune origin
ausgeführt hat.