En el servidor con el repositorio de git, cree un script de shell que exporta y comprime el código, luego descárguelo de las otras máquinas.
Por ejemplo:
cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip
Además, para hacer esto genera CABEZA bajo demanda, utilice un script del lado del servidor para ejecutar el script de shell y proporcionar el archivo zip para su descarga.
Aquí hay una secuencia de comandos básica de CFML que hace esto, pero obviamente se puede escribir en cualquier idioma del lado del servidor.
<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/>
EDITAR: La interfaz web cgit a Git apoya esta fuera de la caja. Ver cualquier confirmación y puede descargar un .zip, .tar.gz o un .tar.bz2
Umm, ¿scp/rsync no funciona por alguna razón? –
Has DICHO script de shell ... simplemente me pregunto :) –
Lo que pasa es que solo tengo acceso a git: // my_project, no acceso completo de shell :-( –