Как запускать команды git на удаленном компьютере без локального репозитория

У меня есть сценарий под названием ' git-export ', который помогает мне экспортировать удаленный репозиторий. Он запускается следующим образом:

git-export http://host.com/git-repo <-t tag or -b branch or -c commit> /local/dir

Раньше он использовался для экспорта локального репозитория, и я использовал следующие команды:

для получения фиксации из ветки:

git branch -v --no-abbrev|awk '($1=="'$BRANCH'") || ($1 == "*" && $2 == "'$BRANCH'"){if($1 == "*"){print $3;}else{print $2;}}'

или

git rev-parse -q --verify $BRANCH^{commit}

для получения фиксации по тегу:

git rev-parse -q --verify $TAG^{commit}

также я есть скрипты для перечисления тегов, версий (теги, начинающиеся с v), я использую git branch -v для отображения веток ....

Вопрос: как я могу делать эти вещи в удаленном репозитории, не имея локального. Есть ли какой-нибудь общий способ запроса удаленного. Например: git --remote = http: //host.com/repo branch -v или git --remote = http: //host.com/repo log

Resion: Если я хочу установить программное обеспечение на удаленный хост, я просто хочу

  1. перечислить версии, ветки и т. Д.
  2. экспортировать конкретную версию / ветку / фиксацию и показать SHA1 фиксации независимо от того, какой из них я экспортирую (под экспортом я имею в виду git archive --remote = | tar x )

редактировать:

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

15
задан NickSoft 16 April 2011 в 16:51
поделиться