Как показать `git status` для веток, отличных от текущего? - PullRequest
0 голосов
/ 13 июня 2019

Чтобы узнать, насколько далеко впереди и / или позади ветви находится ее удаленная, есть команда git status.

Но git status показывает только состояние текущей ветви.

Похоже, чтобы узнать состояние других веток в том же каталоге, мне нужно переключиться на каждую ветку и снова запустить git status.

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

Можно ли узнать состояние других веток, не переключаясь на другие ветви?

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Чтобы прямо ответить на вопрос, который вы задали в заголовке: вы не можете запустить git status в других ветках. git status показывает два ключевых элемента информации: как вы изменили индекс (как вы организовали изменения), которые отличаются от самого последнего коммита в вашей ветви, и как вы изменили рабочий каталог и внесли изменения, которые у вас не было не поставил.

Другими словами, status показывает комбинированную разность HEAD для индекса с разницей индекса для рабочего каталога. Поэтому имеет смысл получить эквивалент git status в текущей ветви, поскольку он учитывает индекс и рабочий каталог.

С учетом этого предостережения кажется, что вас интересует только счет вперед / назад и вы хотите счет вперед / назад для какой-то другой ветви по сравнению с восходящим потоком.

Несмотря на то, что счет «вперед / позади» является одной из вещей, которые git status показывает в качестве вспомогательной информации, это самый простой способ найти счет «вперед / назад» для текущей ветви, как вы заметили.

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

1 голос
/ 13 июня 2019

Вы должны быть в состоянии сделать следующее, чтобы временно установить удаленную ветвь отслеживания

git branch -u <remote>/<branch>

И тогда git status отобразит то, что вам нужно.

Изменить: Возможно, вы захотите что-то вроде этого (см. Сценарий в первом ответе) Показать информацию о git впереди и сзади для всех ветвей, включая удаленные

...