Skip to content

Поиск влитых git-веток и связанных задач

В крупном репозитории, где одновременно работают несколько разработчиков, может быть до 30 активных веток, часть из которых на паузе, часть в работе, а часть размечены в предстоящий релиз. После каждого релиза такие ветки нужно удалять, делать это вручную — занятие сомнительное. Чтобы не пропустить ветку или не удалить нужную, можно воспользоваться git-merged-branches.

git-merged-branches — это CLI-утилита, которая показывает ветки, влитые в основную (master или main). Работает локально, проста в использовании, не имеет дочерних зависимостей и доступна также под коротким алиасом gmb.

Главная фича — возможность просматривать ссылки на задачи из трекера прямо в списке веток, если в названии используются идентификаторы задач, такие как JIRA-123, BUG-42 и т.п.

Использование

Установить глобально:

bash
npm install --global git-merged-branches

Или запустить через npx:

bash
npx git-merged-branches

Вызвав git-merged-branches, или алиас gmb, утилита определит базовую ветку (master или main) и выведет список веток, которые уже были в неё влиты:

bash
$ gmb

Branches merged into 'master':
bugfix/fix-crash-on-start
feature/add-new-feature
hotfix/urgent-fix

Настройка идентификаторов задач

Если вы используете префиксы задач в названиях веток, например TOKEN-123_fix-layout — можно настроить автоматическое добавление ссылок на трекер задач.

json
// package.json
{
  "git-merged-branches": {
    "issueUrlFormat": "https://jira.my-company.com/browse/{{prefix}}{{id}}",
    "issueUrlPrefix": ["TOKEN-", "BUG-"]
  }
}

Что изменит вывод на такой:

bash
TOKEN-123_fix-layout <https://jira.my-company.com/browse/TOKEN-123>
BUG-56_add-tests <https://jira.my-company.com/browse/BUG-56>

git-merged-branches — минималистичная, но полезная утилита, которая позволит быстро почистить ветки, заодно проверив их статус в трекере.