2016-10-06 7 views
0

Для контроля версий я больше всего подвергался воздействию Mercurial, но хочу улучшить работу с Git. Есть один рабочий процесс, который я использую для этого, похоже, не очень много показан в учебниках и примерах для начинающих Git, а именно для удаления ветки из вашего репозитория.Как отделить ветки от репозитория git?

Сценарий таков: главная ветвь имеет кучу коммитов, и в какой-то момент я создал ветвь признаков для функции, которая может быть объединена в какой-то момент времени. Однако; ветвь была оставлена, и к капитану было добавлено больше коммитов. Теперь было решено, что разработка функций в ветви функций не требуется и не должна быть перенесена в центральный репозиторий. В ртутном, используя TortoiseHg, я бы затем сделать следующее:

http://i.imgur.com/hnLLrLF.png

Причем совершает номер 4, 5 и 6, удаляются из репо, оставив меня с желаемым, окончательным захоронением:

http://i.imgur.com/n42zbmg.png

Я пробовал смотреть на использование git branch -D <branch-name>, но это не похоже на то, что я ожидал от него. Кажется, что коммиты на этой ветке сохраняются в репозитории, он просто удаляет название ветки.

Что является лучшим/безопасным/простым/быстрым/наименованием более-типа-здесь, чтобы достичь этого рабочего процесса с репозиторием Git?

+0

В Git, вы можете просто оставить ненужную ветку в одиночку и не нажимать на него или не объединять его с другими ветвями, или 'git branch -D ' для удаления ветви сам. Если вы используете Git GUI, ожидается, что в меню появится элемент типа «удалить ветвь». – ElpieKay

+0

Да, это может быть решением для других пользователей центрального репо. Тогда «обманывающий» способ должен был снова клонировать центральное репо, чтобы я получил новое репо без нежелательной ветви. Я надеялся найти способ спасти репо с грязной веткой. Как я могу его очистить, как я могу в своем меркульном репо? –

ответ

0

Удалить удаленный филиал

git push <remote name> --delete <branch name> 

Теперь другие должны сокращать свои филиалы отслеживания

git fetch --prune <remote name> 

Удалить местное отделение

git branch -D <branch name> 
+0

А, был пропущен шаг. Вызов «git gc» удалил удаленную ветку. Отметьте это как ответ. Благодаря! :) –

 Смежные вопросы

  • Нет связанных вопросов^_^