Entfernte Verzweigungen in Git beschneiden

Stewart Nguyen 6 Februar 2022
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.

Verwandter Artikel - Git Prune