webentwicklung-frage-antwort-db.com.de

Visual Studio Code - Entfernen Sie auf GitHub gelöschte Verzweigungen, die noch in VS Code angezeigt werden?

Nachdem ich in VSCode eine Pull-Anforderung ausgeführt und den Zweig auf GitHub gelöscht habe, wird dieser Zweig weiterhin in Visual Studio-Code angezeigt. Wenn ich den Zweig auswähle, wird wie erwartet ein Fehler angezeigt. 

Wie entferne ich diese jetzt gelöschten Zweige aus VSCode? Kann ich das automatisch tun?

35
Drenai

Anscheinend ist diese Funktion beabsichtigt. Ich habe herausgefunden, dass eine korrekte Methode zum Entfernen aller entfernten Zweigstellen, die aus Github gelöscht wurden, der folgende Befehl ist.

git fetch --Prune

Starten Sie dann Visual Studio erneut, um die Verzweigungen aus der Befehlsleiste zu entfernen 

56
davidhu2000

Lokale Verzweigungen können aus Visual Studio-Code entfernt werden. Öffnen Sie dazu den Befehl Pallete (Strg-Umschalt-P) und wählen Sie Git: Delete Branch ... aus. Anschließend können Sie den lokalen Zweig löschen, indem Sie den entsprechenden Zweig aus der Liste auswählen .

20

Aus GitHub entfernte Verzweigungen werden einfach aus GitHub entfernt. Sie haben noch eine lokale Zweigstelle auf Ihrem Rechner. Um den lokalen Zweig zu löschen, führen Sie git branch -d the_local_branch aus. Es gibt keinen Befehl in VS-Code, aber Sie können das Terminal in VSCode mit dem Befehl View: Toggle Integrated Terminal starten und den Befehl von dort aus ausführen.

Weitere Informationen zum Niederlassungsmanagement finden Sie unter git documentation - https://git-scm.com/book/be/v2/Git-Branching-Branch-Management

13

Ich interpretierte die Frage als: Wie kann ich meine lokalen Zweige, die zusammengeführt wurden, löschen, da ich Git Fetch (Prune) aus der Befehlspalette verwendet habe? Dies kann als "Hack" angesehen werden, aber es ist das, was ich benutze. Im PowerShell-Terminal:

$branches = (git branch --merged).replace(" ", "").replace("*", "") | ? { $_ -ne "develop" -and $_ -ne "master" }
foreach ($branch in $branches) { git branch $branch -d }

Falls Sie mit PoSH nicht vertraut sind, geschieht Folgendes: Die erste Zeile erhält den Namen aller zusammengeführten Zweige (mit Ausnahme von Develop und Master), und die zweite Zeile durchläuft diese Liste und führt "git branch -d" aus ". Solange der Zweig vollständig zusammengeführt ist, sollten Sie Folgendes sehen:

Deleted branch <branch name> (was <commit ID>).

für jede Branche. Gelegentlich stoße ich auf einen Zweig, der nicht gelöscht werden kann. Wenn dies geschieht und Sie sicher sind, dass er sicher gelöscht werden kann (d. H. Sie verlieren keine lokale Arbeit, die nicht gespeichert wurde), können Sie Folgendes ausführen:

git branch <branch name> -D

Beachten Sie das Großbuchstaben D - das zwangsweise den lokalen Zweig löscht.

5
Darren G

Ich habe einen Weg gefunden, das Problem zu beheben. Sie müssen also die Fernbedienung entfernen, die mit dem Github-Repo verbunden ist, und dann die Fernbedienung erneut hinzufügen.

Alle Zweige, die aus Github gelöscht werden, werden nicht mehr in vscode angezeigt. Angenommen, Origin ist der Name für das Remote-Repo. 

git remote remove Origin

Dann 

git remote add Origin [email protected]:your-username/repo-name.git
3
davidhu2000

Öffnen Sie die Befehlspalette (Strg + Umschalttaste + P) und wählen Sie Git: Fetch (Prune).

Dieses Feature war am 20. November 2018 zusammengefügt in VS Code.

1
tgr42

Alles was Sie tun müssen, ist diesen Befehl auszuführen:

git remote Prune Origin

Etwas, das Sie tun können, weil es manchmal ärgerlich ist, ein Terminal nur dafür zu öffnen. Sie können eine Aufgabe in vscode hinzufügen.

Führen Sie dazu bitte folgende Schritte aus:

  1. In VSCode Ansicht> Befehlspalette (cmd/ctrl + Shift + P)
  2. geben Sie Task konfigurieren ein.
  3. Wählen Sie Tasks.json-Datei aus Vorlage erstellen aus. Eine neue Datei wird im Ordner .vscode erstellt.
  4. Fügen Sie im Aufgabenfeld Folgendes hinzu:

{ "label": "Git Prune", "type": "Shell", "Befehl": "git Remote Prune Origin", "problemMatcher": [] }

Wie man es benutzt:

  1. Öffnen Sie die Befehlspalette
  2. Geben Sie Run Task ein und wählen Sie es aus
  3. Wählen Sie Git Prune

Referenz:

  1. Git Prune

Der kürzere Befehl lautet:

git fetch -p
0
Al Gol