Как проверить, все ли мои ветки равны главной ветке?

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

У меня есть репозиторий Github, и у меня много веток, и иногда я забывал, делал ли я «git rebase» для данной ветки. Пока ладно, но позже добавлю много веток а то скучно каждую ветку проверять.

Если у кого-то есть решение, спасибо :) Репозиторий Github


person LucTst    schedule 25.02.2018    source источник


Ответы (2)


Локально вы можете использовать git merge-base для сравнения вашей ветки с master: если результат если master HEAD, это означает, что ваша ветка равна или перебазирована на master.

Вы можете увидеть пример, примененный ко всем ветвям, в разделе "Можно ли отфильтровать объединенные ветки в git for-each-ref?"


На GitHub вы можете сравнивать ветки, но это должно быть сделано ветвь за ветвью.

person VonC    schedule 25.02.2018

Если я правильно понимаю ваши требования, git branch --no-merged HEAD (учитывая, что вы сейчас на мастере) может быть тем, что вы ищете:

из справочной страницы git-branch:

--no-merged [‹ commit >]
Выводить только ветки, концы которых недоступны из указанного коммита (HEAD, если не указано). Подразумевает --list, несовместимый с --merged.

В противном случае вы можете просто перебрать все ветки, выводимые git branch, и выполнить мастер git diff Agains для каждой из них.

person schmittlauch    schedule 25.02.2018