Pregunta La mejor práctica para usar múltiples archivos .gitignore


Existe una colección de útiles .gitignore archivos en https://github.com/github/gitignore. Cada archivo ignora allí tiene una extensión .gitignore, p.ej. Java.gitignore, vim.gitignore. Cuando pongo estos archivos directamente en un archivo de trabajo, no funcionan.

¿Es necesario crear un solo archivo? .gitignore y fusionar los archivos constituyentes en ella?

Por consiguiente, al usar un --global  .gitignore archivo, parece que la configuración apunta a un solo archivo. Si, por ejemplo, quiero aplicar todo .gitignore archivos en un directorio Global /, ¿debería unirlos manualmente en un solo archivo? Si es así, es un trabajo extra mantener este archivo fusionado actualizado con la colección "oficial".

Para reiterar, reconozco que podemos usar diferentes .gitignore archivos en diferentes directorios, pero no es lo que quiero. Quiero aplicar múltiples .gitignore archivos en un solo directorio.


32
2018-04-23 03:21


origen


Respuestas:


Para aclarar: se llama un archivo de proyectos gitignore .gitignore


Fondo:

UN .gitignore se refiere al directorio en el que se encuentra, que es el nivel superior o el descendiente de un directorio con un repositorio .git, es decir, un directorio ".git /".

Puede haber múltiples .gitignore archivos en cualquier subdirectorio, pero la mejor práctica es tener uno  .gitignore en una raíz de proyectos determinada y tienen los subdirectorios de referencia de archivos necesarios, p. images / annual / recent De lo contrario, será difícil saber qué archivo .gitignore buscar para encontrar algo que se ignore. ¡Dado que puedes usar patrones como nombres de archivo que podrían ser bastante complicados!

Yo también recomiendo evitar usando un global .gitignore archivo que se aplica a todas proyectos en su máquina, aunque puede mantener una plantilla para usar con proyectos nuevos. La principal consideración aquí es que su .gitignore será diferente de otros desarrolladores (que pueden existir o no) y el resultado es indeterminado. Un ejemplo de una excepción a esto es el uso de un .gitignore archivo para archivos IDE que no quiero en ningún proyecto que abra en mi máquina, así que utilizo un archivo global .gitigore con una entrada para .idea / files (rubyMine).


La intención de las plantillas que ve en la lista es que normalmente está escribiendo el código para un archivo dado en un lenguaje específico. Dado esto, una plantilla que se basa en el lenguaje es frecuentemente suficiente.

Si hay varios idiomas en la base de código, entonces deberá combinar múltiples .gitignore's para esos idiomas, que se puede hacer de muchas maneras, tales como:

cat .gitignore1 .gitignore2 > .gitignore # if .gitignore doesn't exist yet
cat .gitignore1 >> .gitignore # Add to it if it already exists
paste .gitignore1 .gitignore # Add to it if it already exists

Caliente (ish) fuera de la prensa (verano de 2014):

Gitignorer es una utilidad simple que ayuda en la creación de archivos .gitignore. Extrae plantillas específicas (especificadas) .gitignore, con archivos comunes para excluir, desde github.com/github/gitignore, las mezcla juntas y las guarda en .gitignore en el directorio actual.

Ejemplo de uso:

gitignorer create c java python

Gitignorer está actualmente disponible en AUR en https://aur.archlinux.org/packages/gitignorer/ y en GitHub en https://github.com/zachlatta/gitignorer



31
2018-04-23 03:26