Puede tener múltiples .gitignore, cada uno por supuesto en su propio directorio.
Para comprobar cuál es la norma gitignore es responsable por ignorar un archivo, uso git check-ignore: git check-ignore -v -- afile.
Y puede tener una versión diferente de un .gitignorearchivo por rama: ya he visto ese tipo de configuración para garantizar que una rama ignore un archivo mientras que la otra no: vea esta pregunta, por ejemplo .
Si su repositorio incluye varios proyectos independientes, sería mejor hacer referencia a ellos como submódulos .
Estas serían las mejores prácticas reales, permitiendo que cada uno de esos proyectos se clone de forma independiente (con sus respectivos .gitignorearchivos), mientras se hace referencia a ellos mediante una revisión específica en un proyecto principal global.
Vea la verdadera naturaleza de los submódulos para más.
Tenga en cuenta que, desde git 1.8.2 (marzo de 2013) puede hacer un git check-ignore -v -- yourfilepara ver a qué gitignore se ejecuta (desde qué .gitignorearchivo) se aplica ' yourfile', y comprender mejor por qué se ignora dicho archivo.
Consulte "¿ qué gitignoreregla está ignorando mi archivo? "