Вы можете удалить ветку, но сначала пометьте ее, чтобы ее история не исчезла. Таким образом, ветвь не отображается в списке веток, что должно удерживать людей от работы над ней, но работа не будет стерта навсегда (даже после запуска сборки мусора). Например, если у меня есть ветка, которая стала неактуальной, но я не готов удалить ее навсегда, я помечаю ее как «архив / < имя-ветки >».
В то время как в 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
Теперь ветка вернулась, как будто никогда не удалялась.
--tags
параметр togit push
), а затем удалив удаленную ветку (используя:<branch-to-delete>
refspec при нажатии). Например:git tag archive/foo foo; git branch -D foo; git push --tags origin :foo