2013-04-19 7 views
5

Normalerweise, wenn ich Pull Requests auf GitHub sende, würde ich eine Verzweigung erstellen, meine Änderungen vornehmen und sie dann bitten, diese Verzweigung in ihren Repo zu integrieren.Wenn wir eine Verzweigung auf dem Server löschen, können wir sie automatisch in unserer lokalen Kopie löschen?

Sobald das erledigt ist, lösche ich auf Github den Zweig (aber github verbirgt es einfach). Ich lösche dann endgültig die Zweigstelle auf der Github-Site.

Jetzt, da die Remote-Zweigstelle weg ist, wie kann ich meinen lokalen Repo mit der Fernbedienung synchronisieren? Ich habe versucht, zu holen und zu ziehen, aber das löscht nicht die Zweige in meinem lokalen Repo.

Muss ich sie manuell aus meinem Repo löschen, oder gibt es eine Möglichkeit, sie zu synchronisieren?

Antwort

1

Sie können einen Versuch:

git remote prune origin 

(unter der Annahme der Fern 'Ursprung' verweist Ihre GitHub Repo)

Dies wird in "cleaning up old remote git branches" erklärt (git branch -d localbranch)

ich nicht kenne einen nativen git-Befehl, der beides tun würde.
Nur ein Skript wie „git_remote_branch“ würde einen Zweig sowohl auf GitHub löschen und lokal

löscht (Aliase: zerstören, töten, entfernen, rm)

den Remote-Zweig löscht dann den lokalen Zweig löscht.
Der lokale Zweig wird nicht gelöscht, wenn Änderungen ausstehen.

$ grb delete branch_name [origin_server] 
+0

Das hielt all diese Zweige davon ab, auf "Herkunft" zu erscheinen, wenn ich 'git branch -a' starte, aber die Zweige existieren immer noch in meinem lokalen Repo. – F21

+0

@ F21 wahr. Ich habe meine Frage bearbeitet, um diese Einschränkung besser sichtbar zu machen und eine mögliche Lösung vorzuschlagen. – VonC

0

Eine weitere Option (auf lokaler Ebene) gelöscht Zweige auf dem Server zu löschen

könnte

git holen -p

Hoffnung, das hilft.

Verwandte Themen