Entfernen Sie entfernte Branches in Git [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Airam

Ich möchte einige Remote-Zweige meines Projekt-Repositorys löschen. Ich habe den nächsten Befehl ausgeführt:

git push origin :name_of_branch

und wenn ich die Remote-Nebenstellen mit aufliste

git branch -r

Der Zweig, den ich gelöscht habe, wird nicht angezeigt, aber ein Partner von mir wird ausgeführt

git fetch

und später

git branch -r

und in der Liste der Zweig name_of_branch die ich gelöscht hatte, ist noch in der Liste. Wenn er jedoch versucht, den Zweig mit zu löschen

git push origin :name_of_branch

Er erhält die nächste Nachricht:

error: unable to delete 'name_of_branch': remote ref does not exist
error: failed to push some refs to 'the_name_of_the_repository'

Wie könnte ich den Zweig komplett aus der Liste löschen?

  • Duplikat von Delete a Git branch both local and remote?.

    Benutzer456814

    6. Juni 2014 um 3:22 Uhr

Das passiert denn, wenn dieser Partner von dir läuft git fetchwird die Verzweigungslöschung nicht auf sein Repository “angewendet”. fetch aktualisiert nur Zweige und fügt Zweige hinzu.

Sie können laufen git remote prune origin entfernte Branches in ihrer Liste wegzuschneiden, die nicht mehr im Upstream-Repository existieren.

  • Zu Ihrer Information, git remote prune ist zugunsten von etwas veraltet git fetch --prune oder git fetch -p. Siehe die Versionshinweise zu Git-Version 1.6.6: “[git fetch --prune makes] git remote update und git remote prune weniger notwendig (es ist nicht geplant, sie zu entfernen remote update Noch remote pruneobwohl).”

    Benutzer456814

    6. Juni 2014 um 3:19 Uhr


git fetch --prune <remote> kann verwendet werden, um alle Ihre Remote-Tracking-Zweige zu entfernen, die Tracking-Zweige sind, die nicht mehr in einem Remote-Repository existieren (dh sie wurden im Remote gelöscht). Von dem offizielle Linux-Kernel-Git-Dokumentation für fetch:

-p

--prune

Entfernen Sie nach dem Abrufen alle Remote-Tracking-Zweige, die nicht mehr auf der Remote vorhanden sind.

Sie können mit dem Befehl auch veraltete Remote-Tracking-Zweige entfernen

git branch -D -r <remote>/<branch>

wie angegeben in die Dokumentation für git branch:

Verwenden -r zusammen mit -d Remote-Tracking-Zweige zu löschen. Beachten Sie, dass es nur sinnvoll ist, Remote-Tracking-Zweige zu löschen, wenn sie nicht mehr im Remote-Repository vorhanden sind oder wenn git fetch wurde so konfiguriert, dass sie nicht erneut abgerufen werden.

Benutzer-Avatar
Verpackung

git branch -r -d 'remote-branch'

1076770cookie-checkEntfernen Sie entfernte Branches in Git [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy