Можно ли загрузить репозиторий git без git? - PullRequest
15 голосов
/ 27 февраля 2009

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

Есть ли способ скачать git-репо, не имея самого git? Идеальным решением будет какой-то переносимый сценарий оболочки.

Спасибо!

Ответы [ 4 ]

15 голосов
/ 27 февраля 2009

На сервере с репозиторием git создайте сценарий оболочки, который экспортирует и архивирует код, а затем загружает этот zip-файл с других компьютеров.

Например:

cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip


Кроме того, чтобы сгенерировать HEAD по требованию, используйте сценарий на стороне сервера, чтобы выполнить сценарий оболочки и предоставить zip-файл для загрузки.

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

<cfset OutputFilename = "#ProjectName#-dev.zip"/>
<cfexecute name="/home/project/latest.sh"/>
<cfheader name="Content-Disposition" value="inline; filename=#OutputFilename#"/>
<cfcontent file="./#OutputFilename#" reset type="application/zip"/><cfsetting showdebugoutput="false"/><cfabort/>


EDIT : Веб-интерфейс cgit для git поддерживает это "из коробки". Просмотрите любой коммит, и вы можете скачать .zip, .tar.gz или .tar.bz2

6 голосов
/ 27 февраля 2009

Вы можете просто запустить scp (1) git-репозиторий на своем локальном компьютере, если у вас есть ssh-доступ к компьютеру, на котором находится git-репозиторий. Если вы хотите объединить историю, вы можете вернуться к новому репо и объединить.

5 голосов
/ 27 февраля 2009

Можете ли вы добавить веб-браузер Git на компьютеры, на которых размещены эти репозитории? Что-то вроде Gitweb или подобное?

4 голосов
/ 27 февраля 2009

Звучит так, будто вы ищете что-то, что позволит вам иметь локальный рабочий каталог с вашим фактическим удаленным хранилищем git.

Так как это идет вразрез с мерзкой философией, заключающейся в том, чтобы вся ваша история хранилища была локальной, я сомневаюсь, что вы что-нибудь найдете. Лучше всего было бы просто скопировать исходники из другого рабочего каталога git с помощью типичных методов копирования файлов (ftp-архив или что-то еще).

EDIT: OOC, действительно ли клиенту git требуется доступ администратора для установки для личного использования? Я понимаю, что администратору нужно установить один из серверов git, но с клиентом все должно быть в порядке. Попробуйте установить (или собрать из исходников) только клиент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...