Archivio Git: come esportare un progetto Git
A volte può essere utile creare un file di archivio di un repository Git. Un file di archivio combina più file in un unico file. È quindi possibile estrarre un file di archivio per riprodurre i singoli file. Git è incredibilmente potente nel preservare la cronologia e la collaborazione in team; tuttavia, i file di archivio rimuovono il sovraccarico dei metadati di Git e possono essere più semplici da distribuire ad altri utenti o da conservare offline a lungo termine.
Che cosa fa un archivio git?
Il comando git archive
è un'utilità della riga di comando Git che crea un file di archiviazione da riferimenti Git specificati come commit, branch o alberi. git archive
accetta argomenti aggiuntivi che modificheranno l'output dell'archivio.
Esempi di esportazione in Git
Di seguito è riportato un esempio semplicissimo di ~git archive~
git archive --format=tar HEAD
Questo comando, una volta eseguito, creerà un archivio dall'attuale riferimento HEAD
del repository. Per impostazione predefinita, git archive
trasmetterà l'output dell'archivio nel flusso stdout effimero. Dovrai acquisire questo flusso di output in un file permanente. Puoi specificare un file permanente utilizzando l'opzione di output degli archivi git
o utilizzando il reindirizzamento stdout del sistema operativo.
git archive --output=./example_repo_archive.tar --format=tar HEAD
materiale correlato
Scheda di riferimento rapido di Git
Scopri la soluzione
Impara a utilizzare Git con Bitbucket Cloud
L'esempio seguente creerà un nuovo archivio e lo memorizzerà nel file exmaple_repo_archive.tar
. Gli esempi precedenti hanno entrambi creato un output di archivio non compresso. Questo è indicato dall'opzione --format=tar
. L'opzione di formato accetta anche i formati di file compressi più diffusi zip
e tar.gz
. L'utilizzo di una di queste opzioni di formato produrrà un archivio compresso. Se non viene passato un valore di formato, verrà dedotto da qualsiasi opzione --output
passata.
git archive --output=./example_repo_archive.tar.gz --format=tar HEAD ./build
È possibile creare un archivio parziale del repository passando un argomento percorso. Questo esempio aggiunge un argomento percorso . /build
al comando di archiviazione. Questo comando produrrà un archivio contenente solo i file archiviati nella directory ./build
.
Opzioni
Gli esempi precedenti hanno dimostrato alcuni dei casi d'uso di git-archive
più utilizzati. Le seguenti sono opzioni estese che possono essere passate a git-archive
.
--prefix=<prefix>/
Le opzioni del prefisso precedono il percorso di ogni file in un archivio. Questo può essere utile per garantire che i contenuti dell'archivio vengano estratti in un namespace univoco.
--remote=<repo>
L'opzione remota prevede un URL di repository remoto. Quando viene richiamato con l'opzione remota, git-archive
recupera il repository remoto e crea un archivio dal ref specificato, se disponibile sul remoto.
Configurazione
Ci sono alcuni valori di configurazione Git globali che ~git archive~ rispetterà. Questi valori possono essere impostati usando l'utilità git config.
tar.umask
L'opzione di configurazione della disabilitazione del mascheramento viene utilizzata per specificare la limitazione dei bit di autorizzazione a livello unix sul file di archivio di output.
tar.<format>.command
Questa opzione di configurazione consente di specificare un comando shell personalizzato tramite il quale verrà eseguito l'output di git-archive
. È simile all'operazione di omettere l'opzione --output
e reindirizzare il flusso stdout da ~git archive~ a uno strumento personalizzato. Ciò consente la post-elaborazione fissa degli archivi personalizzati.
tar.<format>.remote
Se abilitato, consente ai client remoti di recuperare archivi di tipo formato
.
Riepilogo dell'archivio Git
L'archivio Git è un'utilità utile per creare pacchetti distribuibili di repository git. L'archivio Git può indirizzare riferimenti specifici di un repository e raggruppare solo il contenuto di quei riferimenti. L'archivio Git ha diversi formati di output che possono utilizzare una compressione aggiuntiva.
Condividi l'articolo
Argomento successivo
Letture consigliate
Aggiungi ai preferiti queste risorse per ricevere informazioni sui tipi di team DevOps e aggiornamenti continui su DevOps in Atlassian.