Git 🌙
Français ▾ Topics ▾ Latest version ▾ git-archive last updated in 2.46.0

NOM

git-archive - Crée une archive de fichiers depuis un arbre nommé

SYNOPSIS

git archive [--format=<fmt>] [--list] [--prefix=<préfixe>/] [<extra>]
	      [-o <fichier> | --output=<fichier>] [--worktree-attributes]
	      [--remote=<dépôt> [--exec=<git-upload-archive>]] <arbre-esque>
	      [<chemin>…​]

DESCRIPTION

CrĂ©e une archive du format spĂ©cifiĂ© contenant l’arborescence de l’arbre nommĂ©, et l’Ă©crit sur la sortie standard. Si <prĂ©fixe> est spĂ©cifiĂ©, il prĂ©fixe le nom des fichiers dans l’archive.

git archive se comporte diffĂ©remment lorsqu’on lui donne un ID d’arbre et lorsqu’on lui donne un ID de commit ou d’Ă©tiquette. Quand un ID d’arbre est fourni, l’heure actuelle est utilisĂ©e comme heure de modification de chaque fichier dans l’archive. Sinon, lorsqu’un ID de commit ou d’Ă©tiquette est fourni, l’heure de validation enregistrĂ©e dans l’objet commit rĂ©fĂ©rencĂ© est utilisĂ©e Ă  la place. En outre, l’ID de commit est stockĂ© dans un en-tĂŞte pax Ă©tendu global si le format tar est utilisé ; il peut ĂŞtre extrait en utilisant git get-tar-commit-id. Dans les fichiers ZIP, il est stockĂ© sous forme de commentaire de fichier.

OPTIONS

--format=<fmt>

Format de l’archive rĂ©sultante. Les valeurs possibles sont tar, zip, tar.gz, tgz, ou tout format dĂ©fini en utilisant l’option de configuration tar.<format>.command`. Si --format n’est pas donnĂ©e, et que le fichier de sortie est spĂ©cifiĂ©, le format est dĂ©duit du nom du fichier si possible (par exemple, en Ă©crivant "foo.zip", la sortie sera au format zip). Sinon, le format de sortie est tar.

-l
--list

Afficher tous les formats disponibles.

-v
--verbose

Afficher l’Ă©tat d’avancement sur stderr..

--prefix=<préfixe>/

PrĂ©fixer les chemins dans l’archive avec <prĂ©fixe>/. Peut ĂŞtre rĂ©pĂ©té ; La valeur la plus Ă  droite est utilisĂ©e pour tous les fichiers suivis. Voir ci-dessous les valeurs utilisĂ©es par --add-file.

-o <fichier>
--output=<fichier>

Ecrire l’archive dans <fichier> au lieu de stdout.

--add-file=<fichier>

Ajouter un fichier non suivi Ă  l’archive. Peut ĂŞtre rĂ©pĂ©tĂ© pour ajouter plusieurs fichiers. Le chemin du fichier dans l’archive est construit en concatĂ©nant la valeur de la dernière option --prefix (le cas Ă©chĂ©ant) avant ce --add-file et le nom de base de <fichier>.

--add-virtual-file=<chemin>:<contenu>

Ajouter le contenu spĂ©cifiĂ© Ă  l’archive. Peut ĂŞtre rĂ©pĂ©tĂ© pour ajouter plusieurs fichiers.

L’argument <chemin> peut commencer et se terminer par un caractère double guillemet littĂ©ral ; le nom du fichier contenu est interprĂ©tĂ© comme une chaĂ®ne de style C, c’est-Ă -dire que la barre oblique inverse est interprĂ©tĂ©e comme un caractère d’Ă©chappement. Le chemin doit ĂŞtre citĂ© s’il contient un caractère deux-points, afin d’Ă©viter que le deux-points ne soit mal interprĂ©tĂ©s comme le sĂ©parateur entre le chemin et le contenu, ou si le chemin commence ou se termine par un caractère guillemet double.

Le mode fichier est limitĂ© Ă  un fichier rĂ©gulier, et l’option peut ĂŞtre soumise Ă  des limites de ligne de commande dĂ©pendant de la plate-forme. Pour les cas non triviaux, Ă©crivez un fichier non suivi et utilisez --add-file Ă  la place.

Notez que contrairement Ă  --add-file le chemin crĂ©Ă© dans l’archive n’est pas affectĂ© par l’option --prefix, car un ‘<chemin>’ complet peut ĂŞtre donnĂ© comme valeur de l’option.

--worktree-attributes

Rechercher Ă©galement les attributs dans les fichiers .gitattributes de l’arbre de travail (voir ATTRIBUTS).

--mtime=<temps>

Fixer l’heure de modification des entrĂ©es de l’archive. Sans cette option, l’heure du validateur est utilisĂ©e si <arbre-esque> est un commit ou une Ă©tiquette, et l’heure actuelle s’il s’agit d’un arbre.

<extra>

Il peut s’agir de n’importe quelle option que le moteur de l’archiveur comprend. Voir la section suivante.

--remote=<dépôt>

Au lieu de crĂ©er une archive tar Ă  partir du dĂ©pĂ´t local, rĂ©cupĂ©rer une archive tar Ă  partir d’un dĂ©pĂ´t distant. Notez que le dĂ©pĂ´t distant peut imposer des restrictions sur les expressions sha1 qui peuvent ĂŞtre autorisĂ©es dans <arbre-esque>. Voir git-upload-archive[1] pour plus de dĂ©tails.

--exec=<git-upload-archive>

UtilisĂ© avec --remote pour spĂ©cifier le chemin d’accès Ă  git-upload-archive du cĂ´tĂ© distant.

<arbre-esque>

L’arbre ou le commit pour lequel produire une archive .

<chemin>

Sans paramètre de chemin optionnel, tous les fichiers et sous-rĂ©pertoires du rĂ©pertoire de travail actuel sont inclus dans l’archive. Si un ou plusieurs chemins sont spĂ©cifiĂ©s, seuls ceux-ci sont inclus.

OPTIONS SUPPLÉMENTAIRES DE MOTEUR

zip

-<chiffre>

SpĂ©cifier le niveau de compression. Les valeurs les plus Ă©levĂ©es permettent Ă  la commande de passer plus de temps pour compresser les fichiers Ă  une taille plus petite. Les valeurs prises en charge vont de -0 (stockage seul) Ă  -9 (meilleur ratio). La valeur par dĂ©faut est -6 si elle n’est pas donnĂ©e.

tar

-<nombre>

SpĂ©cifier le niveau de compression. La valeur sera transmise Ă  la commande de compression configurĂ©e dans tar.<format>.command. Voir la page de manuel de la commande configurĂ©e pour la liste des niveaux supportĂ©s et le niveau par dĂ©faut si cette option n’est pas spĂ©cifiĂ©e.

CONFIGURATION

tar.umask

Cette variable peut ĂŞtre utilisĂ©e pour limiter les bits de permission des entrĂ©es d’archives tar. La valeur par dĂ©faut est 0002, ce qui dĂ©sactive le bit d’Ă©criture gĂ©nĂ©rale. La valeur spĂ©ciale "user" indique que l’umask de l’utilisateur d’archivage sera utilisĂ© Ă  la place. Voir umask(2) pour plus de dĂ©tails. Si --remote est utilisĂ© alors seule la configuration du dĂ©pĂ´t distant prend effet.

tar.<format>.command

Cette variable spécifie une commande shell à travers laquelle la sortie tar générée par git archive doit être envoyée. La commande est exécutée en utilisant le shell avec le fichier tar généré sur son entrée standard, et devrait produire la sortie finale sur sa sortie standard. Toute option de niveau de compression sera passée à la commande (par exemple, -9).

Les formats tar.gz et tgz sont définis automatiquement et utilisent la commande magique git archive gzip par défaut, qui invoque une mise en œuvre interne de gzip.

tar.<format>.remote

Si vrai, activer le format pour une utilisation par des clients distants via git-upload-archive[1]. Par défaut à faux pour les formats définis par l’utilisateur, mais vrai pour les formats tar.gz et tgz.

ATTRIBUTS

export-ignore

Les fichiers et rĂ©pertoires avec l’attribut export-ignore ne seront pas ajoutĂ©s aux fichiers d’archives. Voir gitattributes[5] pour plus de dĂ©tails.

export-subst

Si l’attribut export-subst est dĂ©fini pour un fichier, Git dĂ©veloppera plusieurs caractères de remplissage lors de l’ajout de ce fichier Ă  une archive. Voir gitattributes[5] pour plus de dĂ©tails.

Notez que les attributs sont par dĂ©faut pris dans les fichiers .gitattributes de l’arbre qui est archivĂ©. Si vous souhaitez modifier la façon dont la sortie est gĂ©nĂ©rĂ©e après coup (par exemple, si vous avez validĂ© un commit sans ajouter un export appropriĂ© dans son .gitattributes), ajustez le fichier .gitattributes extrait si nĂ©cessaire et utilisez l’option --worktree-attributes. Vous pouvez Ă©galement conserver les attributs nĂ©cessaires qui devraient s’appliquer lors de l’archivage de tout arbre dans votre fichier $GIT_DIR/info/attributes.

EXEMPLES

git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)

CrĂ©e une archive tar qui contient le contenu du dernier commit sur la branche actuelle, et l’extrait dans le rĂ©pertoire /var/tmp/junk.

git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz

Crée un tarball compressé pour la version v1.4.0.

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

Même chose que ci-dessus, mais en utilisant la gestion du format tar.gz intégrée.

git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0

Même chose que ci-dessus, mais le format est déduit du fichier de sortie.

git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz

Créer un tarball compressé pour la version v1.4.0, mais sans en-tête de pax global étendu.

git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip

Place tout ce qui se trouve dans le répertoire Documentation/ de la tête courante dans git-1.4.0-docs.zip, avec le préfixe git-docs/.

git archive -o latest.zip HEAD

Crée une archive Zip qui contient le contenu du dernier commit sur la branche actuelle. Notez que le format de sortie est déduit par l’extension du fichier de sortie.

git archive -o latest.tar --prefix=build/ --add-file=configure --prefix= HEAD

Crée une archive tar qui contient le contenu du dernier commit sur la branche actuelle sans préfixe et le fichier non suivi configure avec le préfixe build/.

git config tar.tar.xz.command "xz -c"

Configurer un format "tar.xz" pour la crĂ©ation de fichiers tar compressĂ©s LZMA. Vous pouvez l’utiliser en spĂ©cifiant --format=tar.xz, ou en crĂ©ant un fichier de sortie comme -o foo.tar.xz.

VOIR AUSSI

GIT

Fait partie de la suite git[1]

TRADUCTION

Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .

scroll-to-top