Accueil·Commandes du terminal

git archive

git

Syntaxe

git archive --format=tar.gz -o <file> <tree-ish>

Exporte les fichiers d'un commit en tar ou zip ; .git et les fichiers non suivis sont exclus, ce qui donne une archive de version plus propre qu'un zip du dossier.

Options courantes

OptionSignification
--format=<fmt>tar, zip or tar.gz
-o <file>write to a file; the format is guessed from the name
--prefix=<dir>/put everything under one folder inside the archive
--add-file=<file>include an untracked file as well
--remote=<repo>let the server build it
-llist the formats this build supports

Exemples

git archive --format=tar.gz -o app-1.2.0.tar.gz v1.2.0

a release tarball of exactly that tag

git archive --prefix=app/ -o app.zip HEAD

a zip whose contents sit inside app/

git archive -o src.zip HEAD -- src

only the src directory

Ce qui embrouille, c’est qu’annuler a plusieurs formes : déplacer là où pointe une branche n’est pas ajouter un commit qui l’inverse.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait git archive ?

Exporte les fichiers d'un commit en tar ou zip ; .git et les fichiers non suivis sont exclus, ce qui donne une archive de version plus propre qu'un zip du dossier.

Q. Comment l’écrire ?

git archive --format=tar.gz -o <file> <tree-ish> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 6 ici ; la liste complète est dans man git. Cette commande relève de git.

Commandes liées

page man: man git-archive