{{tag>dev git archive zip tgz}}
====== Générer une archive avec Git ======
Git est en mesure de générer des archives dans différents formats. Pour lister les formats disponibles:
$ git archive --list
Ceci permet de distribuer simplement le projet dans une révision particulière, par exemple celle marquée du tag **1.0**. Dans ce cas:
$ git archive --format zip -9 --prefix monProjet-1.0/ 1.0 > /chemin/fichier.zip
* Pour l'argument **%%--%%prefix**, bien terminer la chaîne par un **/** pour que les fichier de l'archive soient regroupés dans un dossier parent nommé monProjet-1.0.
* L'argument **-9** est spécifique au format **zip** est correspond au niveau de compression
* L'argument **1.0** est le **tag** correspondant à la version du projet pour laquelle on souhaite générer l'archive. On peut également exporter le HEAD (c'est un tag), les branches et autres tree-ish
===== Exemples =====
Pour générer une archive tar compressée dans le dossier ''/tmp''
# monPJ est un projet git
$ cd monPJ
# On génère une archive pour la révision identifiée par le sha1 5ed5057
$ git archive --format tgz --prefix monPJ-r1/ 5ed5057 > /tmp/monPJ-r1.tgz
Après exécution de cette commande une archive contenant tous les fichiers de la revision 5ed5057 est disponible dans le dossier /tmp. Lors de la décompression le dossier conteneur spécifier par l'option prefix
===== Références =====
* http://pioupioum.fr/developpement/git-10-commandes-utiles.html