Sul server con il repository git, creare uno script di shell che esporta e ignora il codice, quindi scarica lo zip dalle altre macchine.
Ad esempio:
cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip
Inoltre, per rendere questo generare HEAD on-demand, utilizzare uno script lato server per eseguire lo script di shell e di fornire il file zip per il download.
Ecco uno script CFML di base che esegue questa operazione, ma può ovviamente essere scritto in qualsiasi linguaggio lato server.
<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: L'interfaccia web cgit a git supporta questa out of the box. Visualizza qualsiasi commit e puoi scaricare un file .zip, .tar.gz o .tar.bz2
fonte
2009-02-27 15:10:33
Umm, scp/rsync non funziona per qualche motivo? –
HAI DETTO script di shell .. quindi mi chiedo solo :) –
Il fatto è che ho solo accesso a git: // my_project, non a pieno accesso alla shell :-( –