Nombre

git-ls-files: muestra información sobre los archivos en el índice y el árbol de trabajo

Sinopsis

git ls-files [-z] [-t] [-v] [-f]
                (--[cached|deleted|others|ignored|stage|unmerged|killed|modified])*
                (-[c|d|o|i|s|u|k|m])*
                [--eol]
                [--deduplicate]
                [-x <pattern>|--exclude=<pattern>]
                [-X <file>|--exclude-from=<file>]
                [--exclude-per-directory=<file>]
                [--exclude-standard]
                [--error-unmatch] [--with-tree=<tree-ish>]
                [--full-name] [--recurse-submodules]
                [--abbrev[=<n>]] [--] [<file>…​]

Descripción

Esto fusiona la lista de archivos en el índice con la lista de directorios de trabajo real y muestra diferentes combinaciones de los dos.

Se pueden usar una o más de las opciones siguientes para determinar los archivos que se muestran:

Opciones

-C
– en caché

Mostrar archivos en caché en la salida (predeterminado)

-D
– eliminado

Mostrar archivos eliminados en la salida

-metro
–modificado

Mostrar archivos modificados en la salida

-o
–otros

Mostrar otros archivos (es decir, sin seguimiento) en la salida

-I
– ignorado

Muestra solo los archivos ignorados en la salida. Cuando muestre archivos en el índice, imprima solo aquellos que coincidan con un patrón de exclusión. Cuando muestre “otros” archivos, muestre solo aquellos que coincidan con un patrón de exclusión. Las reglas estándar de ignorar no se activan automáticamente, por lo tanto, al menos una de las --exclude* Se requieren opciones.

-s
–escenario

Muestre los bits de modo del contenido en etapas, el nombre del objeto y el número de etapa en la salida.

–directorio

Si un directorio completo se clasifica como “otro”, muestre solo su nombre (con una barra al final) y no todo su contenido.

–no-directorio-vacío

No enumere directorios vacíos. No tiene ningún efecto sin –directory.

-u
– sumergido

Mostrar archivos no fusionados en la salida (fuerza – etapa)

-k
–delicado

Muestra los archivos del sistema de archivos que deben eliminarse debido a conflictos de archivos / directorios para que checkout-index se realice correctamente.

-z

0 terminación de línea en la salida y no cite los nombres de archivo. Consulte SALIDA a continuación para obtener más información.

– duplicar

Cuando solo se muestran los nombres de archivo, suprima los duplicados que pueden provenir de tener varias etapas durante una fusión o dar --deleted y --modified opción al mismo tiempo. Cuando alguno de los -t, --unmerged, o --stage está en uso, esta opción no tiene ningún efecto.

-X
–exclude =

Omita el patrón de coincidencia de archivos sin seguimiento. Tenga en cuenta que el patrón es un patrón de comodín de shell. Consulte EXCLUIR PATRONES a continuación para obtener más información.

-X
–excluir-de =

Leer patrones de exclusión de ; 1 por línea.

–excluir-por-directorio =

Lea patrones de exclusión adicionales que se aplican solo al directorio y sus subdirectorios en .

–excluir-estándar

Agregue las exclusiones estándar de Git: .git / info / exclude, .gitignore en cada directorio y el archivo de exclusión global del usuario.

–error-unmatch

Si alguna no aparece en el índice, trátelo como un error (devuelva 1).

–with-tree =

Al usar –error-unmatch para expandir el usuario proporcionado (es decir, patrón de ruta) argumentos a rutas, pretenda que las rutas que se eliminaron en el índice desde el nombre todavía están presentes. Usando esta opción con -s o -u opciones no tiene ningún sentido.

-t

Esta función está parcialmente en desuso. Para fines de scripting, git-status[1] --porcelain y archivos git-diff[1] --name-status son casi siempre alternativas superiores, y los usuarios deben mirar git-status[1] --short o git-diff[1] --name-status para alternativas más fáciles de usar.

Esta opción identifica el estado del archivo con las siguientes etiquetas (seguidas de un espacio) al comienzo de cada línea:

H

en caché

S

skip-worktree

METRO

no fusionado

R

eliminado / eliminado

C

modificado / cambiado

K

Ser asesinado

?

otro

-v

Similar a -t, pero use letras minúsculas para los archivos que están marcados como assume unchanged (ver git-update-index[1]).

-F

Similar a -t, pero use letras minúsculas para los archivos que están marcados como fsmonitor valid (ver git-update-index[1]).

–nombre completo

Cuando se ejecuta desde un subdirectorio, el comando generalmente genera rutas relativas al directorio actual. Esta opción obliga a que las rutas se generen en relación con el directorio superior del proyecto.

–recurse-submodules

Llama de forma recursiva a ls-files en cada submódulo activo en el repositorio. Actualmente solo hay soporte para el modo –cached.

– abrev[=<n>]

En lugar de mostrar las líneas completas del objeto hexadecimal de 40 bytes, muestre el prefijo más corto que sea al menos <n> hexdigits de longitud que se refiere de forma exclusiva al objeto. El número de dígitos no predeterminado se puede especificar con –abbrev = .

–depurar

Después de cada línea que describe un archivo, agregue más datos sobre su entrada de caché. Esto está destinado a mostrar la mayor cantidad de información posible para la inspección manual; el formato exacto puede cambiar en cualquier momento.

– eol

Show y de archivos. es la identificación del contenido del archivo utilizada por Git cuando el atributo “texto” es “auto” (o no está establecido y core.autocrlf no es falso). es “-text”, “none”, “lf”, “crlf”, “mixed” o “”.

“” significa que el archivo no es un archivo normal, no está en el índice o no es accesible en el árbol de trabajo.

es el atributo que se utiliza cuando se comprueba o confirma, es “”, “-text”, “text”, “text = auto”, “text eol = lf”, “text eol = crlf”. Desde Git 2.10 “text = auto eol = lf” y “text = auto eol = crlf” son compatibles.

Ambos en el índice (“i / “) y en el árbol de trabajo (” w / “) se muestran para archivos normales, seguidos de (” attr / “).

No interprete más argumentos como opciones.

Archivos para mostrar. Si no se proporcionan archivos, se muestran todos los archivos que coinciden con los demás criterios especificados.

Producción

git ls-files solo genera los nombres de archivo a menos que --stage se especifica, en cuyo caso genera:

[<tag> ]<mode> <object> <stage> <file>

git ls-files --eol mostrará yo / w / attr /

git ls-files --unmerged y git ls-files --stage se puede utilizar para examinar información detallada sobre rutas no fusionadas.

Para una ruta no fusionada, en lugar de registrar un solo par de modo / SHA-1, el índice registra hasta tres de esos pares; uno del árbol O en la etapa 1, A en la etapa 2 y B en la etapa 3. Esta información puede ser utilizada por el usuario (o la porcelana) para ver lo que finalmente debería registrarse en el camino. (ver git-read-tree[1] para obtener más información sobre el estado)

Sin el -z opción, los nombres de ruta con caracteres “inusuales” se citan como se explica para la variable de configuración core.quotePath (ver git-config[1]). Utilizando -z el nombre del archivo se muestra literalmente y la línea termina con un byte NUL.

Excluir patrones

git ls-files puede usar una lista de “patrones de exclusión” al recorrer el árbol de directorios y buscar archivos para mostrar cuando se especifican los indicadores –otros o – ignorados. gitignore[5] especifica el formato de los patrones de exclusión.

Estos patrones de exclusión provienen de estos lugares, en orden:

  1. La bandera de la línea de comandos –exclude = especifica un solo patrón. Los patrones se ordenan en el mismo orden en que aparecen en la línea de comando.

  2. La bandera de la línea de comandos –exclude-from = especifica un archivo que contiene una lista de patrones. Los patrones se ordenan en el mismo orden en que aparecen en el archivo.

  3. La bandera de la línea de comandos –excluir-por-directorio = especifica un nombre del archivo en cada directorio git ls-files examina, normalmente .gitignore. Los archivos en directorios más profundos tienen prioridad. Los patrones se ordenan en el mismo orden en que aparecen en los archivos.

Un patrón especificado en la línea de comando con –exclude o leído del archivo especificado con –exclude-from es relativo a la parte superior del árbol de directorios. Un patrón leído de un archivo especificado por –exclude-per-directory es relativo al directorio en el que aparece el archivo de patrón.

Ver también

git-read-tree[1], gitignore[5]