El famoso gitignore es un archivo de texto que nos permite evitar incluir determinados archivos y carpetas dentro del repositorio de git para que podamos incluir solamente el código de nuestra aplicación sin la necesidad de incluir todas las librerías que, con algo de fortuna, usan un sistema de distribución de paquetes (quizás composer, gulp, bower, etc…).
¿Por qué es importante usar correctamente este archivo?. Cuando estamos desarrollando, existe un 99% de probabilidades que estés usando cadenas de conexión interna a las bases de datos o que, sin querer, usas sentencias de debug en tu archivo de configuración que no quieres difundir. Este archivo, nos evitará ese dolor de cabeza, ya que nos entrega la posibilidad de descartar archivos concretos de nuestros repositorios.
Este archivo, debe estar presente en la raíz del repositorio y debes considerar que nunca estará al 100% terminado, aunque tu repositorio lleve varios cientos de commits, ya que circunstancialmente puedes añadir una nueva nueva carpeta de archivos que no quieres que su contenido se difunda, pero que sí exista en el repositorio. Pues bien, hay que añadir la carpeta del gitignore para que esa carpeta no exista en los commits. (¡ojo, recuerda dejar documentada esa carpeta!).
Esto te puede ayudar a evitar errores u omisión de eliminar archivos… sino, pregunta al pobre chinito que olvidó quitar su llave privada desde un repositorio público.