Ветку в Git удаление
в Git, что означает" удаление " ветви?
он исчезнет из репозитория? Или он все еще будет судоходным до via git branch
?
4 ответа:
вы можете удалить ветку,но сначала пометить ее, чтобы она не исчезла. Таким образом, ветвь не отображается в списке ветвей, что, надеюсь, должно удерживать людей от работы над ней, но работа не будет окончательно стерта (даже после запуска сборки мусора). Например, всякий раз, когда у меня есть ветка, которая стала неактуальной, но я не готов навсегда удалить ее, я помечаю ее как "архив/ветка>".
на
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
теперь ветка вернулась, как будто она никогда не была удалена.
ветви Git хранятся как ссылки на ревизию. Если вы удалите ветвь, ссылка будет удалена; если ничто другое не ссылается на эту ревизию, она в конечном итоге будет собрана в мусор. Кроме того, если вы удалите ветку, то она правильно ушла (из вашего репозитория). Если вы хотите пометить ветку как устаревшую, но сохранить ее для последующего использования, вы можете переместить ветку в подкаталог:
$ git branch * master testing_feature_one testing_feature_two $ git branch -m testing_feature_one deprecated/testing_feature_one $ git branch deprecated/testing_feature_one * master testing_feature_two
кроме того, вы можете создать отдельный репозиторий для устаревших ветви, потяните их поперек, а затем удалите их из оригинала. В любом случае вы повлияете на всех пользователей, которые следуют за ветвями-содержимое их репозитория не изменится (и ни одно из их имен ветвей), но если они попытаются снова потянуть, им придется изменить свою цель в своей конфигурации.
git branch -D <branchName>
удалит вашу ветку из репозитория. Вы больше не сможете его видеть или перемещаться. Также вы потеряете все изменения файла в этой ветке.
Он не будет доступен для навигации через ветку git и до тех пор, пока не будет выполнена сборка мусора, он не будет потерян из репозитория.
Если вы хотите отметить рассматриваемую ветвь как тупик, то просто сделайте это (git может не сделать этого для вас, но вы, конечно, можете)!
маркировка его (в любом случае вы предпочитаете) в качестве исторических справочных работ.