Страницы

Поиск по вопросам

пятница, 11 января 2019 г.

В каких ветках есть локальные изменения

Как узнать, какие ветки содержат закоммиченные, но ещё не запушенные изменения?


Ответ

примерно так:
$ git branch -vv * master c488ea5 [origin/master: ahead 1, behind 1] 20160210184133 test ffc6775 [origin/test: ahead 1] 20160210183855 test2 ffc6775 [origin/test2: behind 1] 20160210183855 test3 7ff0eab 20160210184754
здесь мы видим, что ветки master, test и test2 «привязаны» к удалённым репозиториям (показано и имя репозитория и ветка «привязки»).
также видно, что ветки master и test отстоят на один коммит каждая «впереди» (ahead 1), а master и test2 «позади» (behind 1) от содержимого удалённого репозитория.

дополнительный вопрос, поднятый в комментариях
Как его сократить только до веток, у которых есть ahead/behind? И как убрать commit message из таблицы?
с помощью опций команды branch, по-моему, никак. можно «порезать» вывод чем-то внешним. например, если доступна программа gnu/sed
$ git branch -vv | sed -rn 's/(: (ahead|behind) [0-9]+[^]]*\]).*/\1/p' * master c488ea5 [origin/master: ahead 1, behind 1] test ffc6775 [origin/test: ahead 1] test2 ffc6775 [origin/test2: behind 1]

Комментариев нет:

Отправить комментарий