Получить только удаленные ветки, которые уже были объединены в master/development

git ls-remote --h <domain_specific_url>.git 'refs/heads/*' 

в котором перечислены все ветви, созданные в удаленном хранилище.

Но я хотел бы расширить эту команду для использования --merged вариант, так как я хотел бы получить списки веток, которые уже объединены для разработки / master

что-то вроде:

git ls-remote --h <domain_specific_url>.git 'refs/heads/*' --merged develop/master 

Это возможно?

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

2 ответа

Хорошая новость заключается в том, что gitbash также предоставляет несколько полезных утилит Un*x:

 git branch -r --merged master | grep "origin/" 

Это не может быть сделано без создания клона. Это так просто: хэш-идентификаторы, которые вы получаете от git ls-remote однозначно идентифицировать коммиты, но если у вас нет коммитов, которые предшествуют этим коммитам, единственный способ узнать, если некоторые refs/heads/branchname является предком refs/heads/master если они имеют одинаковый хэш-идентификатор. Этого достаточно только для только что объединенной ветви.

Обратите внимание, что некоторые серверы предоставляют свои собственные (не Git) интерфейсы, и, по крайней мере, один из них (GitHub) показывает, что некоторые ветви "объединены" (и, следовательно, могут быть удалены). Это не то, что вы можете получить доступ с помощью git ls-remote,

Другие вопросы по тегам