Sie können den Zweig löschen, ihn jedoch zuerst markieren, damit der Verlauf nicht verschwindet. Auf diese Weise wird der Zweig nicht in der Zweigliste angezeigt, was hoffentlich die Leute davon abhalten sollte, daran zu arbeiten, aber die Arbeit wird nicht dauerhaft gelöscht (selbst nachdem die Speicherbereinigung ausgeführt wurde). Wenn ich beispielsweise einen Zweig habe, der irrelevant geworden ist, aber nicht bereit ist, ihn dauerhaft zu löschen, markiere ich ihn als "Archiv / < Zweigname >".
Während auf master
oder einem anderen Zweig:
git tag archive/foo foo
git branch -D foo
Dadurch wird vor dem Löschen ein Tag mit dem Namen archive/foo
aus dem foo
Zweig erstellt foo
. Sie können dem Tag auch eine Nachricht hinzufügen, die erklärt, was sich in der Verzweigung befindet, warum es existiert, warum es jetzt eine Sackgasse ist usw.
git tag -m 'Foo is deprecated in favor of bar' archive/foo foo
Die Möglichkeit aufzuzeichnen, warum ein Zweig veraltet ist, ist möglicherweise ein Vorteil des Markierens gegenüber dem Verschieben von Zweigen in einen alternativen Namespace.
Wenn Sie jemals einen Zweig wiederbeleben müssen, der auf diese Weise archiviert wurde, ist dies so einfach wie:
git branch foo archive/foo
git tag -d archive/foo # Optional
Jetzt ist der Zweig zurück, als wäre er nie gelöscht worden.
--tags
Option aufgit push
):<branch-to-delete>
gedrückt und dann der Remote-Zweig gelöscht wird (mithilfe der Referenzspezifikation beim Push). Zum Beispiel:git tag archive/foo foo; git branch -D foo; git push --tags origin :foo