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 comoassume unchanged
(ver git-update-index[1]). - -F
-
Similar a
-t
, pero use letras minúsculas para los archivos que están marcados comofsmonitor 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 /
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:
-
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. -
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. -
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]