перечислить все нижестоящие локальные ветки в git - PullRequest
1 голос
/ 27 октября 2019

В качестве рабочего процесса разработки я создаю множество локальных веток и использую функцию git branch -u для отслеживания зависимостей между моими локальными ветвями. Это позволяет легко проверить, не синхронизирован ли один патч / функция с патчем / функцией, от которой он зависит, и выполнить перебазирование, когда это произойдет.

Можно показать ветку восходящего потока текущей ветки, используяследующая команда:

git rev-parse --abbrev-ref '@{upstream}'

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

git rev-parse --abbrev-ref 'foo@{upstream}'

По своей структуре ветка можетесть только одна ветка вверх по течению, которую он отслеживает. Естественно, в другом направлении такого ограничения нет.

Существует ли способ перечисления, какие локальные ветви отслеживают конкретную ветку, не обходя каждую ветку?

Ответы [ 2 ]

2 голосов
/ 27 октября 2019

Есть ли способ перечисления, какие местные филиалы отслеживают конкретную ветку, не обходя каждую ветку?

Нет. Тем не менее, существуют простые способы пройтись по всем локальным веткам:

  • git branch делает это за вас: git branch -vv печатает название каждой ветви и дополнительную информацию о ней, включая ее восходящий потокесли он установлены.

Обратите внимание, что git branch можно сказать посмотретьrefs/remotes/ имена для удаленного отслеживания, использующие -r вместо локальных филиалов. Вы можете направить его, чтобы показать оба пробела (refs/heads/* и refs/remotes/*), используя -a.

1 голос
/ 27 октября 2019

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

git config --local --list | grep 'refs/heads/<remote-branch>'

, поскольку выдает следующий вывод:

branch.<local-branch1>.merge=refs/heads/<remote-branch>
branch.<local-branch2>.merge=refs/heads/<remote-branch>

Возможно, вам придется настроить grep, так как ссылки на удаленные ветки могут быть перечислены и в других контекстах. Но это должно помочь вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...