Вы можете удалить ветку, но сначала отметьте ее, чтобы история не исчезла. Таким образом, ветвь не отображается в списке ветвей, что, как мы надеемся, должно удерживать людей от работы над ней, но работа не будет удалена окончательно (даже после запуска сборки мусора). Например, когда у меня есть ветка, которая стала неактуальной, но я не готова удалить ее навсегда, я помечаю ее как «архив / <<em> имя-ветви >».
Находясь на master
или в другой ветке:
git tag archive/foo foo
git branch -D foo
Это создает тег с именем archive/foo
из ветви foo
перед удалением foo
. Вы также можете добавить сообщение к тегу, которое объясняет, что находится в ветке, почему она существует, почему она теперь тупиковая и т. Д.
git tag -m 'Foo is deprecated in favor of bar' archive/foo foo
Возможность записывать, почему ветвь устарела, возможно, является преимуществом тегирования по сравнению с перемещением ветвей в альтернативное пространство имен.
Если вам когда-нибудь понадобится воскресить ветку, которая была заархивирована таким образом, это просто:
git branch foo archive/foo
git tag -d archive/foo # Optional
Теперь ветка вернулась, как будто она никогда не была удалена.