Получить только удаленные ветки, которые уже были объединены в 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
,