Una configuracion de .gitignore permite que un repositorio de Git solo incorpore los archivos permitidos de forma explicita, en lugar de rastrear todo por defecto y excluir despues los elementos no deseados. La propuesta responde a errores habituales como incluir .DS_Store, node_modules, configuraciones de editores, documentacion generada por agentes o variables de entorno, cuya retirada exige modificar el historial de Git.
El metodo consiste en comenzar con una regla que ignore todos los archivos y añadir excepciones para los elementos que deben mantenerse bajo control de versiones. En un proyecto sencillo de Go, el archivo conserva .gitignore, los fuentes *.go, README.md, go.mod y go.sum, mientras impide el seguimiento automatico de cualquier otro archivo. Esta politica reduce la posibilidad de commits accidentales y puede resultar util en proyectos con muchos directorios y documentos locales.
La tecnica no resulta adecuada para todos los repositorios, ya que exige prever y declarar cada archivo que se quiera versionar. Ademas, las excepciones no siempre se comportan como esperan los usuarios cuando se aplican a directorios o subconjuntos de archivos. Para comprobar por que una ruta esta siendo ignorada, el articulo recomienda ejecutar git check-ignore -v internal/server/server.go. Tambien menciona un archivo .gitignore de 207 lineas en el proyecto typescript-go como ejemplo de la complejidad que puede alcanzar una configuracion tradicional.
