2014-03-12 2 views
2

Итак, у меня есть проект с 44 ветвями, а не критический, но не чистый.Есть ли способ проверить, какие ветки были перепутаны с мастером

Следовательно, мой вопрос, как проверить, какие ветки были перепутаны с хозяином. Поэтому я могу идти и удалять ветки один за другим.

+1

Почему вы можете удалить их в этом случае? Разве вы не имеете в виду, что вы спасли хозяина от таких ветвей? –

ответ

1

Я думаю, что, возможно, вы имеете в виду слитый вместо переустановки? Потому что, если вы действительно хотите проверить, что какая-то ветвь сбрасывается с последней ветви мастера, тогда вы просто запускаете gitk --all, и вы будете четко видеть все ветви, которые основаны на последней фиксации на главном сервере. Но тогда нет смысла удалять эти ветви.

Итак, предположим, что вы хотите проверить, какие ветви содержат изменения, которые уже существуют в главной ветви и, таким образом, не дают дополнительного значения и могут быть удалены, так я подхожу к этой проблеме. Предположим, что одна из ветвей называется bugfix42. Тогда я бы запустить

git branch bugfix42.test bugfix42 
git rebase master bugfix42.test 
git diff master bugfix42.test 

Если это относится чисто и нет различий, то очевидно, что содержание bugfix42 филиала уже присутствует на мастер и bugfix42 может быть удален. Сначала выберите низкие висячие фрукты, поэтому, если вы получите конфликт слияния, просто пропустите его на данный момент с git rebase --abort и перейдите к следующей ветке. Когда все тривиальные ветви выполняются, вы можете снова запустить с оставшимися ветвями и разрешить возникающие конфликты (в зависимости от того, сколько усилий вы хотите внести). В конце (или раньше, если хотите) удалите все ветви * .test.

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