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