git archive
Administration
Exporter les fichiers d’un commit dans une archive zip ou tar
La commande 'git archive' écrit les fichiers d’un commit, d’un tag ou d’une branche dans une archive zip ou tar — sans l’historique et sans le dossier .git. C’est la façon standard de publier une version en téléchargement. Le format suit l’extension du fichier de sortie, et --prefix place tous les fichiers dans un dossier.
Synopsis
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [-o <file>] <tree-ish> [<path>...][ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option
Options
Choisir la bonne option
archive ou bundle
Fichiers ou historique ?
| Commande | Contient | À utiliser pour |
|---|---|---|
git archive | Les fichiers d’un commit | Téléchargements, déploiements |
git bundle | Commits et branches | Déplacer un dépôt hors ligne |
Exemples
Zipper une version
git archive -o shop-1.0.zip v1.0Les fichiers de v1.0 dans un zip.
Tar avec un dossier
git archive --prefix=shop/ -o shop.tar.gz HEADTout dans shop/.
Un seul dossier
git archive -o docs.zip HEAD docs/Seulement le dossier docs.
Exemples de workflows
1
git tag -a v1.0 -m "Release"La taguer
2
git archive --prefix=shop-1.0/ -o shop-1.0.zip v1.0L’exporter
Dépannage
Des fichiers manquent
Cause : Les fichiers non suivis ou ignorés ne sont jamais archivés
Committez-les, ou vérifiez les règles export-ignore de .gitattributes
Astuces et pièges
Bonnes pratiques
- ✓Archivez des tags, pas des branches, pour que le téléchargement corresponde à la version.
Erreurs fréquentes
- ✗S’attendre à trouver l’historique dans l’archive — utilisez git bundle pour déplacer l’historique.
- ✗Oublier -o et remplir le terminal de données binaires.
FAQ
A:
Oui : marquez-les export-ignore dans .gitattributes.