Androide

Ignorar archivos y directorios en git (.gitignore)

Aprendiendo Git: Cómo ignorar archivos y carpetas con .gitignore

Aprendiendo Git: Cómo ignorar archivos y carpetas con .gitignore

Tabla de contenido:

Anonim

A menudo, cuando trabajas en un proyecto que usa Git, querrás excluir archivos o directorios específicos de ser empujados al repositorio remoto.

El archivo .gitignore especifica qué archivos sin seguimiento debe ignorar Git.

¿Qué archivos deben ignorarse?

Los archivos ignorados suelen ser archivos específicos de la plataforma o archivos creados automáticamente a partir de los sistemas de compilación. Algunos ejemplos comunes incluyen:

  • Archivos de tiempo de ejecución como log, lock, cache o archivos temporales. Archivos con información confidencial, como contraseñas o claves API. Código compilado, como .class o .o . Directorios de dependencia, como /vendor o /node_modules ., como /public , /out o /dist . Archivos del sistema como .DS_Store o .DS_Store IDE o archivos de configuración del editor de texto.

.gitignore

Un archivo .gitignore local generalmente se coloca en el directorio raíz del repositorio. Sin embargo, puede crear múltiples archivos .gitignore en diferentes subdirectorios en su repositorio. Los patrones en los archivos .gitignore coinciden en relación con el directorio donde reside el archivo.

Los patrones definidos en los archivos que residen en directorios de nivel inferior (subdirectorios) tienen prioridad sobre aquellos en directorios de nivel superior.

Los archivos .gitignore locales se comparten con otros desarrolladores y deben contener patrones que sean útiles para todos los demás usuarios del repositorio.

Reglas de ignorar personal

Los patrones que son específicos de su repositorio local y no deben distribuirse a otros repositorios, deben establecerse en el archivo .git/info/exclude .

Por ejemplo, puede usar este archivo para ignorar los archivos generados desde sus herramientas de proyecto personales.

.gitignore global

Git también le permite crear un archivo global .gitignore , donde puede definir reglas de ignorar para cada repositorio de Git en su sistema local.

El archivo puede nombrarse como desee y almacenarse en cualquier ubicación. El lugar más común para guardar este archivo es el directorio de inicio. Tendrá que crear manualmente el archivo y configurar Git para usarlo.

Por ejemplo, para establecer ~/.gitignore_global como el archivo global de ignorar Git, haría lo siguiente:

  1. Crea el archivo:

    touch ~/.gitignore_global

    Agregue el archivo a la configuración de Git:

    git config --global core.excludesfile ~/.gitignore_global

    Abra el archivo con su editor de texto y agréguele sus reglas.

Las reglas globales son particularmente útiles para ignorar archivos particulares que nunca desea confirmar, como archivos con información confidencial o ejecutables compilados.

Ignorar un archivo previamente confirmado

Los archivos en su copia de trabajo pueden ser rastreados o no.

Para ignorar un archivo que se ha confirmado anteriormente, deberá quitar el escenario y eliminar el archivo del índice, y luego agregar una regla para el archivo en .gitignore :

git rm --cached filename

La opción --cached le dice a git que no elimine el archivo del árbol de trabajo sino que lo elimine del índice.

Para eliminar un directorio de forma recursiva, use la opción -r :

git rm --cached filename

Cuando elimine archivos de forma recursiva, use la opción -n que realizará una "ejecución en seco" y le mostrará qué archivos se eliminarán:

git rm -r -n directory

Depuración de archivos .gitignore

A veces puede ser difícil determinar por qué se ignora un archivo específico, especialmente cuando está usando múltiples archivos .gitignore o patrones complejos. Aquí es donde resulta útil el comando git check-ignore con la opción -v , que le dice a git que muestre detalles sobre el patrón coincidente.

Por ejemplo, para comprobar por qué se www/yarn.lock archivo www/yarn.lock , debe ejecutar:

git check-ignore -v www/yarn.lock

La salida muestra la ruta al archivo gitignore , el número de la línea coincidente y el patrón real.

www/.gitignore:31:/yarn.lock www/yarn.lock

El comando también acepta más de un nombre de archivo como argumentos, y el archivo no tiene que existir en su árbol de trabajo.

Mostrar todos los archivos ignorados

El comando git status con la opción --ignored muestra una lista de todos los archivos ignorados:

git status --ignored

Conclusión

El archivo .gitignore permite excluir archivos para que no se .gitignore en el repositorio. El archivo contiene patrones globales que describen qué archivos y directorios deben ignorarse.

gitignore.io es un servicio en línea que le permite generar archivos .gitignore para su sistema operativo, lenguaje de programación o IDE.