Git предоставляет команду ls-remote
, которую вы можете использовать. Например:
$ git ls-remote https://github.com/git/git.git
041f5ea1cf987a4068ef5f39ba0a09be85952064 HEAD
aeb582a98374c094361cba1bd756dc6307432c42 refs/heads/maint
041f5ea1cf987a4068ef5f39ba0a09be85952064 refs/heads/master
f8f6787159eebeb0fe8766e114123185ee1893ea refs/heads/next
55070086a7b72850cce2e7e1688deb53114aac65 refs/heads/pu
be6eed6d9f1c0dfa4a732832c506318f916caf09 refs/heads/todo
f0d0fd3a5985d5e588da1e1d11c85fba0ae132f8 refs/pull/10/head
[...]
Это самый дешевый вариант, который вы можете использовать, но имейте в виду, что большинство хостинг-провайдеров будут ограничивать вас в любом случае. Ваши инструменты должны научиться отступать, если они выполняют автоматизированную обработку репозиториев.
Вы также можете делать запросы непосредственно к части /info/refs?service=git-upload-pack
URL, что по сути эквивалентно.