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.55.0
2026-06-29
- 2.46.2 → 2.54.0 no changes
-
2.46.1
2024-09-13
- 2.44.1 → 2.46.0 no changes
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 no changes
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 no changes
-
2.42.0
2023-08-21
- 2.40.1 → 2.41.3 no changes
-
2.40.0
2023-03-12
- 2.39.1 → 2.39.5 no changes
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 no changes
-
2.38.0
2022-10-02
- 2.36.1 → 2.37.7 no changes
-
2.36.0
2022-04-18
- 2.35.1 → 2.35.8 no changes
-
2.35.0
2022-01-24
- 2.31.1 → 2.34.8 no changes
-
2.31.0
2021-03-15
- 2.30.2 → 2.30.9 no changes
-
2.30.1
2021-02-08
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.22.1 → 2.26.3 no changes
-
2.22.0
2019-06-07
- 2.18.1 → 2.21.4 no changes
-
2.18.0
2018-06-21
- 2.17.0 → 2.17.6 no changes
-
2.16.6
2019-12-06
- 2.14.6 → 2.15.4 no changes
-
2.13.7
2018-05-22
- 2.12.5 no changes
-
2.11.4
2017-09-22
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.2.3 → 2.7.6 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
SYNOPSIS
git ls-files [-z] [-t] [-v] [-f]
[-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored]
[-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified]
[--resolve-undo]
[--directory [--no-empty-directory]] [--eol]
[--deduplicate]
[-x <motif>|--exclude=<motif>]
[-X <fichier>|--exclude-from=<fichier>]
[--exclude-per-directory=<fichier>]
[--exclude-standard]
[--error-unmatch] [--with-tree=<arbre-esque>]
[--full-name] [--recurse-submodules]
[--abbrev[=<n>]] [--format=<format>] [--] [<fichier>…]
DESCRIPTION
Cette commande fusionne la liste des fichiers de l’index avec la liste réelle du répertoire de travail, et affiche les différentes combinaisons des deux.
Plusieurs drapeaux peuvent être utilisés pour déterminer quels fichiers sont affichés, et chaque fichier peut étre affiché plusieurs fois s’il y a plusieurs entrées dans l’index ou si plusieurs statuts sont applicables pour les options de sélection de fichiers pertinentes.
OPTIONS
- -c
- --cached
-
Afficher tous les fichiers enregistrés dans l’index de Git, c’est-à-dire tous les fichiers suivis. (C’est la valeur par défaut si aucune option -c/-s/-d/-o/-u/-k/-m/--resolve-undo n’est spécifiée.)
- -d
- --deleted
-
Afficher les fichiers avec une suppression non validée
- -m
- --modified
-
Afficher les fichiers avec une modification non validée (notez qu’une suppression non validée compte également comme une modification non validée)
- -o
- --others
-
Afficher les autres fichiers (c’est-à-dire non suivis) dans la sortie
- -i
- --ignored
-
Afficher uniquement les fichiers ignorés dans la sortie. Doit être utilisé avec soit un -c explicite soit un -o. Lors de l’affichage des fichiers dans l’index (c’est-à-dire lorsqu’utilisé avec -c), n’afficher que les fichiers correspondant à un motif d’exclusion. Lors de l’affichage des fichiers "autres" (c’est-à-dire lorsqu’utilisé avec -o), n’afficher que ceux correspondant à un motif d’exclusion. Les règles d’ignorance standard ne sont pas activées automatiquement ; par conséquent, au moins une des options
--exclude*est requise. - -s
- --stage
-
Afficher les bits de mode, le nom d’objet et le numéro de stade du contenu validé dans la sortie.
- --directory
-
Si un répertoire entier est classifié comme « autre », n’afficher que son nom (avec un slash final) et non tout son contenu. N’a aucun effet sans -o/--others.
- --no-empty-directory
-
Ne pas lister les répertoires vides. N’a aucun effet sans --directory.
- -u
- --unmerged
-
Afficher les informations sur les fichiers non fusionnés dans la sortie, mais ne pas afficher les autres fichiers suivis (force --stage, écrase --cached).
- -k
- --killed
-
Afficher les fichiers non suivis sur le système de fichiers qui doivent être supprimés en raison de conflits fichiers/répertoires pour que les fichiers suivis puissent être écrits sur le système de fichiers.
- --resolve-undo
-
Afficher les fichiers ayant des informations de résolution annulation dans l’index ensemble avec leurs informations de résolution annulation. (les informations de résolution annulation sont ce qui est utilisé pour implémenter "git checkout -m $PATH", c’est-à-dire pour recréer des conflits de fusion qui ont été accidentellement résolus)
- -z
-
Terminaison de ligne par \0 en sortie et ne pas mettre les noms de fichiers entre guillemets. Voir SORTIE ci-dessous pour plus d’informations.
- --deduplicate
-
Lorsque seuls les noms de fichiers sont affichés, supprimer les doublons pouvant provenir de plusieurs stades pendant une fusion, ou de l’utilisation simultanée des options
--deletedet--modified. Lorsque l’une des options-t,--unmergedou--stageest utilisée, cette option n’a aucun effet. - -x <motif>
- --exclude=<motif>
-
Ignorer les fichiers non suivis correspondant au modèle. Notez que le modèle est un modèle joker shell. Voir MODÈLES D’EXCLUSION ci-dessous pour plus d’informations.
- -X <fichier>
- --exclude-from=<fichier>
-
Lire les modèles d’exclusion depuis <fichier> ; 1 par ligne.
- --exclude-per-directory=<fichier>
-
Lire des modèles d’exclusion supplémentaires qui s’appliquent uniquement au répertoire et à ses sous-répertoires dans <fichier>. Si vous essayez d’émuler le fonctionnement des commandes Porcelaine, l’utilisation de l’option
--exclude-standardà la place est plus facile et plus complète. - --exclude-standard
-
Ajouter les exclusions Git standard : .git/info/exclude, .gitignore dans chaque répertoire, et le fichier d’exclusion global de l’utilisateur.
- --error-unmatch
-
Si un <fichier> n’apparaît pas dans l’index, traiter cela comme une erreur (retour 1).
- --with-tree=<arbre-ish>
-
Lors de l’utilisation de --error-unmatch pour étendre les arguments <fichier> (c’est-à-dire modèle de chemin) fournis par l’utilisateur en chemins, faire comme si les chemins qui ont été supprimés dans l’index depuis le <arbre-esque> nommé étaient toujours présents. L’utilisation de cette option avec les options
-sou-un’a aucun sens. - -t
-
Afficher les étiquettes de statut avec les noms de fichiers. Notez qu’à des fins de script, git-status[1]
--porcelainet git-diff-files[1]--name-statussont presque toujours des alternatives supérieures ; les utilisateurs devraient consulter git-status[1]--shortou git-diff[1]--name-statuspour des alternatives plus conviviales.Cette option fournit une raison pour l’affichage de chaque nom de fichier, sous la forme d’une étiquette de statut (suivie d’un espace puis du nom de fichier). Les étiquettes de statut sont toutes des caractères uniques de la liste suivante :
- H
-
fichier suivi qui n’est ni non fusionné ni skip-worktree
- S
-
fichier suivi qui est skip-worktree
- M
-
fichier suivi qui est non fusionné
- R
-
fichier suivi avec suppression non validée
- C
-
fichier suivi avec modification non validée
- K
-
chemins non suivis qui font partie de conflits fichiers/répertoires qui empêchent l’extraction des fichiers suivis
- ?
-
fichier non suivi
- U
-
fichier avec des informations resolve-undo
- -v
-
Similaire à
-t, mais utiliser des lettres minuscules pour les fichiers marqués comme « considérés inchangés » (voir git-update-index[1]). - -f
-
Similaire à
-t, mais utiliser des lettres minuscules pour les fichiers marqués comme « fsmonitor valid » (voir git-update-index[1]). - --full-name
-
Lorsqu’elle est exécutée à partir d’un sous-répertoire, la commande produit généralement des chemins relatifs au répertoire actuel. Cette option force l’affichage des chemins relatifs au répertoire principal du projet.
- --recurse-submodules
-
Appelle récursivement ls-files sur chaque sous-module actif dans le dépôt. Actuellement, seul les modes --cached et --stage sont supportés.
- --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>. - --debug
-
Après chaque ligne décrivant un fichier, ajouter plus de données sur son entrée en cache. Cela est destiné à afficher autant d’informations que possible pour l’inspection manuelle ; le format exact peut changer à tout moment.
- --eol
-
Afficher <eolinfo> et <eolattr> des fichiers. <eolinfo> est l’identification du contenu de fichier utilisée par Git lorsque l’attribut "text" est "auto" (ou non défini et que core.autocrlf n’est pas faux). <eolinfo> est soit "-text", "none", "lf", "crlf", "mixed" soit "".
"" signifie que le fichier n’est pas un fichier régulier, qu’il n’est pas dans l’index ou n’est pas accessible dans l’arbre de travail.
<eolattr> est l’attribut utilisé lors de l’extraction ou de la validation, il est soit "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf". Depuis Git 2.10, "text=auto eol=lf" et "text=auto eol=crlf" sont pris en charge.
Le <eolinfo> dans l’index ("i/<eolinfo>") et dans l’arbre de travail ("w/<eolinfo>") sont tous deux affichés pour les fichiers réguliers, suivis de ("attr/<eolattr>").
- --sparse
-
Si l’index est clairsemé, afficher les répertoires clairsemés sans les étendre aux fichiers contenus. Les répertoires clairsemés seront affichés avec une barre oblique finale, comme "x/" pour un répertoire clairsemé "x".
- --format=<format>
-
Une chaîne qui interpole
%(fieldname) à partir du résultat affiché. Elle interpole également%%en%, et%xXXoùXXsont des chiffres hexadécimaux interpole le caractère avec le code hexadécimalXX; par exemple%x00interpole en \0 (NUL),%x09en \t (TAB) et %x0a en \n (LF). --format ne peut pas être combiné avec-s,-o,-k,-t,--resolve-undoet--eol. - --
-
Ne pas interpréter les arguments qui suivent comme options.
- <fichier>
-
Fichiers à afficher. Si aucun fichier n’est donné, tous les fichiers correspondant aux autres critères spécifiés sont affichés.
SORTIE
git ls-files affiche simplement les noms de fichiers sauf si --stage est spécifié, auquel cas il affiche :
[<étiquette> ]<mode> <objet> <étape> <fichier>
git ls-files --eol affichera i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>
git ls-files --unmerged et git ls-files --stage peuvent être utilisés pour examiner les informations détaillées sur les chemins non fusionnés.
Pour un chemin non fusionné, au lieu d’enregistrer une seule paire mode/SHA-1, l’enregistrement indexé contient jusqu’à trois telles paires ; une de l’arbre O à l’étape 1, A à l’étape 2, et B à l’étape 3. Cette information peut être utilisée par l’utilisateur (ou le porcelaine) pour voir ce qui devrait finalement être enregistré au chemin. (voir git-read-tree[1] pour plus d’informations sur l’état)
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.
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-files --format='%(objectname) %(path)'
NOMS DE CHAMPS
La manière dont chaque chemin est affiché peut être personnalisée en utilisant l’option --format=<format>, où le %(fieldname) dans la chaîne <format> pour divers aspects de l’entrée d’index est interpolé. Les "fieldname" suivants sont reconnus :
- mode objet
-
Le mode du fichier qui est enregistré dans l’index.
- type-d-objet
-
Le type d’objet du fichier qui est enregistré dans l’index.
- nom-d-objet
-
Le nom du fichier qui est enregistré dans l’index.
- objectsize[:padded]
-
La taille de l’objet du fichier qui est enregistrée dans l’index ("-" si l’objet est un
commitou untree). Elle supporte également un format de taille rembourré avec "%(objectsize:padded)". - étape
-
L’étape du fichier qui est enregistré dans l’index.
- eolinfo:index
- eolinfo:worktree
-
Le <eolinfo> (voir la description de l’option
--eol) du contenu dans l’index ou dans l’arbre de travail pour le chemin. - eolattr
-
Le <eolattr> (voir la description de l’option
--eol) qui s’applique au chemin. - chemin
-
Le nom de chemin du fichier qui est enregistré dans l’index.
MOTIFS D’EXCLUSION
git ls-files peut utiliser une liste de "motifs d’exclusion" lors de la traversée de l’arborescence de répertoires et de la recherche de fichiers à afficher lorsque les drapeaux --others ou --ignored sont spécifiés. gitignore[5] spécifie le format des motifs d’exclusion.
Ces motifs d’exclusion peuvent être spécifiés depuis l’une des places suivantes dans l’ordre :
-
Le drapeau de ligne de commande --exclude=<motif> spécifie un seul motif. Les motifs sont ordonnés dans le même ordre qu’ils apparaissent dans la ligne de commande.
-
Le drapeau de ligne de commande --exclude-from=<fichier> spécifie un fichier contenant une liste de motifs. Les motifs sont ordonnés dans le même ordre qu’ils apparaissent dans le fichier.
-
Le drapeau de ligne de commande --exclude-per-directory=<nom> spécifie un nom de fichier dans chaque répertoire examiné par git ls-files, normalement
.gitignore. Les fichiers dans les répertoires plus profonds ont la priorité. Les motifs sont ordonnés dans le même ordre qu’ils apparaissent dans les fichiers.
Un motif spécifié sur la ligne de commande avec --exclude ou lu depuis le fichier spécifié avec --exclude-from est relatif au sommet de l’arborescence de répertoires. Un motif lu depuis un fichier spécifié par --exclude-per-directory est relatif au répertoire dans lequel le fichier de motifs apparaît.
En général, vous devriez pouvoir utiliser --exclude-standard lorsque vous souhaitez que les règles d’exclusion soient appliquées de la même manière que ce que les commandes Porcelain font. Pour émuler ce que --exclude-standard spécifie, vous pouvez donner --exclude-per-directory=.gitignore, puis spécifier :
-
Le fichier spécifié par la variable de configuration
core.excludesfile, si elle existe, ou le fichier$XDG_CONFIG_HOME/git/ignore. -
Le fichier
$GIT_COMMON_DIR/info/exclude.
via l’option --exclude-from= .
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 .