2017-02-17 2 views
2

How can I delete all git branches which have been merged? показать, как удалить ветви, которые были объединены. Однако в GitHub теперь есть опция «Сквош и слияние» и «Ребаза и слияние», оба из которых не определены git branch --merged.Как удалить локальные ветви, не имеющие отличий от мастера?

Есть ли способ идентифицировать все ветви, которые по существу генерируют пустую фиксацию, если она объединена с мастером?

EDIT: ищет программный путь через CLI, аналогично связанному вопросу.

+0

Просто 'мерзавец diff' подсказки ветви:' мерзавец дифф хуг master' пуст, если дерево исходников на кончике 'xyz' соответствует дерево исходных текстов на кончике' master'. (Это верно, переводятся ли оба имени в один и тот же хэш хеширования, или нет, если только * дерево * с совпадением соответствует.) – torek

+0

git сам не предоставляет такого способа. Возможно, вы могли бы получить от Github – max630

ответ

0

С одной стороны вы можете сравнить другие отрасли с master. Если Разница не найдена, то удалите ветку.

$ git checkout master 

$ git branch   
$ git diff HEAD..branch1  # see what is in 'branch1' that is not in 'master' branch 

# if no difference found then delete the branch 
$ git branch -D branch1  
0

Самый простой способ может быть через веб-интерфейс GitHub. Перейдите в свой репозиторий. Нажмите на количестве филиалов:

enter image description here

GitHub группа филиалы в репозиториях по активному, несвежему, Yours, и по умолчанию. Вы найдете цветные кнопки, обозначающие их как открытые, закрытые или объединенные. Справа от кнопки находится кнопка trashcan, которую вы можете использовать для удаления ветки.

enter image description here

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