El archivo .gitignore, es un archivo de texto que le dice a Git qué archivos o carpetas ignorar en un proyecto.

Un archivo local .gitignore generalmente se coloca en el directorio raíz de un proyecto. También puedes crear un archivo global .gitignore, y cualquier entrada en ese archivo se ignorará en todos tus repositorios de Git.

Para crear un archivo .gitignore local, crea un archivo de texto y asígnale el nombre ".gitignore" (recuerda incluir el . al principio). Luego, edita este archivo según sea necesario. Cada nueva línea debe incluir un archivo o carpeta adicional que quieras que Git lo ignore.

  Las entradas de este archivo también pueden seguir un patrón coincidente:

  • * se utiliza como una coincidencia comodín.
  • / se usa para ignorar las rutas relativas al archivo .gitignore.
  • # es usado para agregar comentarios

Este es un ejemplo de cómo puede lucir el archivo .gitignore :

# Ignora archivos del sistema Mac 
.DS_store

# Ignora la carpeta node_modules
node_modules

# Ignora todos los archivos de texto
*.txt

# Ignora los archivos relacionados a API keys
.env

# Ignora archivos de configuración SASS
.sass-cache

Para agregar o cambiar tu .gitignore global, ejecuta el siguiente comando en la terminal:

git config --global core.excludesfile ~/.gitignore_global

Esto creará el archivo ~/.gitignore_global. Ahora puedes editar ese archivo de la misma manera que un archivo .gitignore local. Todos tus repositorios Git ignorarán los archivos y carpetas listadas en el .gitignore global.

¿Cómo evitar el rastreo de archivos a los que previamente les has hecho "commit" desde el nuevo Gitignore?

Para evitar el rastreo de un solo archivo, es decir, detener el rastreo del archivo, pero no borrarlo del sistema, utiliza:

git rm --cached nombre-del-archivo

Para evitar el rastreo de todos los archivos en .gitignore:

Primero haces "commit" de cualquier cambio de código pendiente, y luego ejecuta:

git rm -r --cached

Esto elimina los archivos modificados del índice (área de montaje), y luego ejecuta:

git add .

Haces "commit":

git commit -m ".gitignore funciona correctamente"

Para deshacer git rm --cached nombre-del-archivo, usa git add nombre-del-archivo

Traducido del artículo Gitignore Explained: What is Gitignore and How to Add it to Your Repo