Git: Подтвердите, что данный коммит существует по протоколу HTTP (s). - PullRequest
0 голосов
/ 11 ноября 2019

Мы используем протокол git http (s) (https://www.git -scm.com / docs / http-protocol ; интеллектуальный сервис), чтобы получить все ветви из репозитория, например, на GitHub или BitBucket, например::

GET https://github.com/larshp/abapgit.git/info/refs?service=git-upload-pack

Ответ дает нам список всех веток в данном репозитории.

Теперь нам нужно подтвердить, что данный коммит существует в определенной ветке. Также было бы хорошо, если бы мы могли получить список коммитов по данной ветке через procitol git http. Как такие запросы должны быть указаны? Заранее большое спасибо за помощь!

Относится к: Возврат к любой отдельной фиксации # 3040

1 Ответ

1 голос
/ 12 ноября 2019

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

Протокол Git smart HTTP предназначен для (а) перечисления веток и тегов. и другие ссылки и (b) обмениваются объектами после согласования того, какие объекты имеет каждая сторона. Он не предоставляет опций для запроса удаленных данных, так как есть много способов сделать это, некоторые из которых очень дорогие.

Возможно, реализация вашего сервера (GitHub или Bitbucket) может предоставить некоторые изэти функции через независимый API, но, как правило, обход истории филиала не очень эффективен по сравнению с API, потому что он принимает много запросов, что является медленным и обычно ограничивает скорость. Клонирование - это самый быстрый способ получить эту информацию.

...