Saltar al contenido

Creando un .gitignore para un Depósito de Reacción Limpia

  1. Un .gitignore es un archivo en un repositorio git que especifica archivos para git no track.
  2. Cada línea de un .gitignore es un patrón.
  3. Las líneas en blanco son ignoradas.
  4. Las líneas que empiezan con un «hash #» son comentarios y también son ignoradas.
  5. Cualquier archivo que coincida con el patrón no será rastreado por el imbécil. Este patrón puede referirse a un directorio, un archivo o un grupo de ambos.

La forma más sencilla de ignorar un archivo es especificarlo explícitamente por su nombre. Por ejemplo, la línea archivo.txt ignoraría el archivo archivo archivo.txt.

Directorios y caminos

Directorios

En los archivos .gitignore, la barra diagonal (/) siempre se usa como separador de rutas. Los directorios pueden ser ignorados con o sin un separador de ruta, pero los dos significan cosas diferentes. Una línea que termina con un separador de ruta sólo coincidirá con los directorios, mientras que una línea sin él coincidirá con los archivos o directorios. Por ejemplo, bin/ coincidirá con todos los directorios llamados bin. bin coincidirá con todos los archivos o directorios llamados bin. Al ignorar un directorio también se ignoran todos los archivos y subdirectorios de ese directorio.

Creando un .gitignore para un Depósito de Reacción Limpia
Creando un .gitignore para un Depósito de Reacción Limpia

Caminos

Por defecto, si se especifica un patrón a ignorar, se ignorarán recursivamente todas las instancias de ese patrón. Por ejemplo, si ignora un archivo en la siguiente estructura de directorios, ignorará myproject/file, myproject/subdir1/file, y myproject/subdir2/subdir2-1/file

12345678myproject|-- .gitignore|-- file|-- subdir1| `-- file`-- subdir2 `-- subdir2-1 `-- file

Prefijar un patrón con un separador de rutas permite especificar una ruta absoluta a partir del archivo .gitignore. Así, en el ejemplo anterior, si quisieras ignorar sólo /myproject/file, el patrón en el archivo .gitignore tendría que ser /file. Ignorar sólo myproject/subdir1/file requeriría /subdir1/file

Patrones

Comodines

…gitignore también permite comodines y cordilleras. Un asterisco * es el carácter de comodín más común. Coincide con cero o más caracteres que no son una barra. Por ejemplo, lo siguiente podría usarse para ignorar todos los archivos .json y todos los archivos .yml que tengan -local. en el nombre:

12*.json*-local.*

Shell

Notación de rango

La notación de rango es una forma de especificar grupos de caracteres permitidos para que coincidan con un solo carácter. Esta notación se utiliza creando una lista de caracteres entre paréntesis []. Por ejemplo, [abcdefghi] coincidiría con cualquier carácter de la a a la i.

Una forma más fácil de especificar los rangos que son secuenciales es usar a -. [a-i] coincidiría con cualquier carácter de la a a la i y es idéntico a [abcdefghi] pero más corto para escribir y más fácil de leer.

Los guiones pueden utilizarse varias veces para especificar agrupaciones múltiples. Por ejemplo, [a-zA-Z] es una forma común de especificar que un carácter puede hacer coincidir cualquier letra de la a a la z, ya sea mayúscula o minúscula.

Ignorar las excepciones

Incluir un ! delante del patrón causará que git explícitamente no ignore ese archivo o directorio. Esto puede ser útil para ignorar todos los archivos y directorios que coincidan con un patrón, excepto algunos específicos. Por ejemplo, para ignorar todos los archivos de configuración excepto uno que sea una muestra, podrías hacer lo siguiente:

12*.config!/appname/settings.sample.config

Shell

Esto ignoraría todos los archivos .config excepto el /appname/settings.sample.config. Si tiene varios archivos .config de muestra en mi repositorio, haga lo siguiente:

12*.config!*.sample.config

Shell

Otros patrones

Esta no es una lista exhaustiva de todos los patrones que .gitignore puede manejar. Para más patrones consulte la documentación oficial de git en .gitignore.