Могу ли я загрузить репозиторий git без git?
Я храню много вещей в репозиториях git, там, в сети. Проблема в том, что я часто нахожусь на машинах, у которых нет git, и где у меня также нет корневого доступа. Мне не обязательно вносить изменения в репо, просто получите текущий мастер проекта git.
Есть ли способ загрузить репозиторий git без само git? Идеальным решением будет какая-то портативная оболочка script.
Спасибо!
Ответы
Ответ 1
Похоже на то, что вы ищете, это то, что позволит вам создать локальный рабочий каталог с фактическим удаленным репозиторием git.
Так как этот вид идет против филофилии git, когда у вас всегда есть вся история вашего хранилища, я сомневаюсь, что вы найдете что-нибудь. Лучше всего будет просто скопировать источники из другого рабочего каталога git с помощью типичных методов копирования файлов (ftp tarball или что-то еще).
EDIT:
OOC, действительно ли клиент git действительно требует доступа администратора для установки для личного использования? Я понимаю, что администратор должен установить один из серверов git, но клиент должен быть в порядке с просто доступом пользователя. Попробуйте установить (или компилировать из источников) только клиент.
Ответ 2
На сервере с репозиторией git создайте оболочку script, которая экспортирует и зашифровывает код, а затем загружает этот почтовый код с других компьютеров.
Например:
cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip
Кроме того, чтобы генерировать HEAD по требованию, используйте серверную script для выполнения оболочки script и предоставьте zip файл для загрузки.
Вот базовый CFML script, который делает это, но он, очевидно, может быть написан на любом серверном языке.
<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
Ответ 3
Вы можете просто скопировать (1) репозиторий git на свой локальный компьютер, если у вас есть ssh доступ к машине, на которой находится репозиторий git. Когда вы хотите объединить историю, вы можете скопировать новое репо и слить.
Ответ 4
Можете ли вы добавить веб-браузер Git на компьютеры, на которых расположены эти репозитории? Что-то вроде Gitweb или подобное?