Git archive : exporter du contenu

Anne git

On a parfois besoin de récupérer une partie du contenu d’un dépôt git, sans avoir à le cloner.

Il faut pour cela utiliser la commande suivante :

$ git archive --format=tar \
              --remote=ssh://git@git.mon-nuage.ciel/anne/projet.git
              master \
              un_fichier.txt un_repertoire
  | tar -xf -

Ici, on récupère juste un_fichier.txt et un_repertoire. Si on ne précise rien, on récupère tout le contenu.

On peut aussi faire ça à partir d’un clone local.

Quelques exemples de la doc de git :

  • extrait le contenu du dernier commit de la branche courante, et le range dans le répertoire /var/tmp/junk :
$ git archive --format=tar --prefix=junk/ HEAD \
  | (cd /var/tmp/ && tar xf -)
  • crée une archive compressée de la version v1.4.0:
$ git archive --format=tar --prefix=git-1.4.0/ v1.4.0 \
  | gzip > git-1.4.0.tar.gz

ou encore :

$ git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 \
  > git-1.4.0.tgz

Voir aussi :