Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.42.1 → 2.55.0 no changes
-
2.42.0
2023-08-21
- 2.36.1 → 2.41.3 no changes
-
2.36.0
2022-04-18
- 2.30.1 → 2.35.8 no changes
-
2.30.0
2020-12-27
- 2.22.1 → 2.29.3 no changes
-
2.22.0
2019-06-07
- 2.14.6 → 2.21.4 no changes
-
2.13.7
2018-05-22
- 2.10.5 → 2.12.5 no changes
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 no changes
-
2.0.5
2014-12-17
SYNOPSIS
git ls-tree [-d] [-r] [-t] [-l] [-z]
[--name-only] [--name-status] [--object-only] [--full-name] [--full-tree] [--abbrev[=<n>]] [--format=<format>]
<arbre-esque> [<chemin>…]
DESCRIPTION
Liste le contenu d’un objet arbre donné, comme le fait « /bin/ls -a » dans le répertoire de travail courant. Notez que :
-
le comportement est légèrement différent de celui de « /bin/ls » en ce que <chemin> désigne simplement une liste de motifs à faire correspondre, p. ex. spécifier un nom de répertoire (sans
-r) se comportera différemment, et l’ordre des arguments n’a pas d’importance. -
le comportement est similaire à celui de « /bin/ls » en ce que <chemin> est pris comme relatif au répertoire de travail courant. P. ex. quand vous êtes dans un répertoire sub qui a un répertoire dir, vous pouvez exécuter git ls-tree -r HEAD dir pour lister le contenu de l’arbre (c’est-à-dire
sub/dirdansHEAD). Vous ne voulez pas donner un arbre qui n’est pas au niveau racine (p. ex.gitls-tree-rHEAD:subdir) dans ce cas, car cela entraînerait une demande poursub/sub/dirdans le commitHEAD. Cependant, le répertoire de travail courant peut être ignoré en passant l’option --full-tree.
OPTIONS
- <arbre-esque>
-
Identifiant d’un arbre-esque.
- -d
-
Afficher uniquement l’entrée d’arbre nommée elle-même, pas ses enfants.
- -r
-
Parcourir récursivement les sous-arbres.
- -t
-
Afficher les entrées d’arbre même lors de la récursion. N’a aucun effet si
-rn’a pas été passé.-dimplique-t. - -l
- --long
-
Afficher la taille de l’objet des entrées blob (fichier).
- -z
-
Terminer les lignes par \0 en sortie et ne pas mettre les noms de fichiers entre guillemets. Voir FORMAT DE SORTIE ci-dessous pour plus d’informations.
- --name-only
- --name-status
-
Lister uniquement les noms de fichiers (au lieu de la sortie « longue »), un par ligne. Ne peut pas être combiné avec
--object-only. - --object-only
-
Lister uniquement les noms des objets, un par ligne. Ne peut pas être combiné avec
--name-onlyou--name-status. C’est équivalent à spécifier--format='%(objectname), mais pour cette option et ce format exact, la commande emprunte un chemin de code optimisé à la main au lieu de passer par le mécanisme de formatage générique. - --abbrev[=<n>]
-
Au lieu d’afficher le nom complet hexadécimal de 40 octets de l’objet, afficher le préfixe le plus court, d’une longueur d’au moins <n> chiffres hexadécimaux, qui renvoie à l’objet de manière unique. Le nombre de chiffres peut être spécifié avec
--abbrev=<n>. - --full-name
-
Au lieu d’afficher les noms de chemin relatifs au répertoire de travail courant, afficher les noms de chemin complets.
- --full-tree
-
Ne pas limiter la liste au répertoire de travail actuel. Implique --full-name.
- --format=<format>
-
Une chaîne qui interpole
%(fieldname) depuis le résultat affiché. Elle interpole aussi%%en%, et%xNNoùNNsont des chiffres hexadécimaux s’interpole en caractère avec le code hexNN; par exemple%x00s’interpole en \0 (NUL),%x09en \t (TAB) et%x0aen \n (LF). Quand il est spécifié,--formatne peut pas être combiné avec d’autres options modifiant le format, y compris--long,--name-onlyet--object-only. - [<chemin>…]
-
Quand des chemins sont donnés, les afficher (notez que ce ne sont pas vraiment des noms de chemin bruts, mais plutôt une liste de motifs à faire correspondre). Sinon, utilise implicitement le niveau racine de l’arbre comme seul argument de chemin.
Format de sortie
Le format de sortie de ls-tree est déterminé soit par l’option --format, soit par d’autres options modifiant le format comme --name-only etc. (voir --format ci-dessus).
L’utilisation de certaines directives --format est équivalente à l’utilisation de ces options, mais invoquer le mécanisme de formatage complet peut être plus lent que d’utiliser une option de formatage appropriée.
Dans les cas où --format correspondrait exactement à une option existante, ls-tree utilisera le chemin plus rapide approprié. Ainsi le format par défaut est équivalent à :
%(objectmode) %(objecttype) %(objectname)%x09%(path)
Ce format de sortie est compatible avec ce qu’attend --index-info --stdin de git update-index.
Quand l’option -l est utilisée, le format change en
%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)
La taille de l’objet identifié par <objectname> est donnée en octets, et justifiée à droite avec une largeur minimale de 7 caractères. La taille de l’objet n’est donnée que pour les entrées blob (fichier) ; pour les autres entrées, le caractère - est utilisé à la place de la taille.
Sans l’option -z, les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration core.quotePath (voir git-config[1]). Lors de l’utilisation de -z le fichier est affiché verbatim et la ligne est terminée par un octet NUL.
Format personnalisé :
Il est possible d’afficher dans un format personnalisé en utilisant l’option --format, qui peut interpoler différents champs en utilisant une notation %(fieldname). Par exemple, si vous ne vous intéressez qu’aux champs « objectname » et « path », vous pouvez exécuter avec un « --format » spécifique comme
git ls-tree --format='%(objectname) %(path)' <arbre-esque>
NOMS DE CHAMPS
Diverses valeurs provenant de champs structurés peuvent être utilisées pour interpoler dans la sortie résultante. Pour chaque ligne de sortie, les noms suivants peuvent être utilisés :
- mode objet
-
Le mode de l’objet.
- type-d-objet
-
Le type de l’objet (
commit,bloboutree). - nom-d-objet
-
Le nom de l’objet.
- objectsize[:padded]
-
La taille d’un objet
blob("-" si c’est uncommitou untree). Prend aussi en charge un format de taille avec rembourrage via "%(objectsize:padded)". - chemin
-
Le nom de chemin de l’objet.
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 .