Curso de git y github desde cero

¿Cómo funciona gitignore?

Capítulo 10: Ignorar archivos y carpetas en los proyectos de Git

Empezamos el último capítulo de la parte de Git en este curso intensivo. Hay muchos temas de Git por tratar, pero no será en este curso. Más adelante haré un curso con la parte de Git avanzada. Con lo que has aprendido aquí, ya tienes suficiente para empezar a manejarte con Git.
A partir del siguiente capítulo, empezamos la parte de GitHub.

De todas formas, si quieres conocer algo específico de Git que no se ha dado en este curso, puedes dejármelo en los comentarios y lo tendré en cuenta para incluirlo en el siguiente curso que haga de Git.

¿Cómo ignorar archivos y carpetas en Git?

En ocasiones, tendremos cosas que todavía no queramos incluir en el proyecto, pero que están en la carpeta del mismo. En ese caso, Git nos estará diciendo que tenemos archivos sin añadir al proyecto ("Untracked").

Git gestiona los archivos de tres maneras:

  • Sin seguimiento (untracked): no está añadido al repositorio.
  • Con seguimiento (tracked): está añadido al repositorio.
  • Ignorado (ignored): se ha indicado que lo ignore.

El archivo .gitignore para ignorar archivos

El archivo .gitignore es el que nos va a permitir escribir las normas de exclusión.
Podemos excluir tanto archivos sueltos como carpetas.

Nos debe quedar la siguiente estructura:

proyecto_3/
|-- texto1.txt
|-- texto2.txt
|-- .git/

Los dos archivos de texto están sin seguimiento. Son nuevos.

El estado del repositorio es este:

git status
Git status

Supongamos que texto2.txt es un archivo que no queremos añadir al repositorio. Podría tratarse de algo que no queremos tener en seguimiento, pero que queremos mantener en la carpeta del repositorio. Solo tenemos que crear el archivo .gitignore y añadirle las reglas que queramos.

¿Cómo crear el archivo .gitignore?

Podemos crear este archivo de texto plano desde la interfaz gráfica, dándole exactamente el nombre .gitignore o podemos hacerlo desde Git bash de la forma que te enseñé hace unos cuantos capítulos.

nano .gitignore

Al abrirse nano, escribe los nombres de los archivos que quieras excluir y guarda los cambios.

Crear .gitignore desde nano

Este archivo (.gitignore) lo puedes editar hasta con un bloc de notas o cualquier editor de texto.

Pongamos nuevamente un git status para ver que ocurre.

git status

Esta vez, me aparece .gitignore (hay que hacerle seguimiento como cualquier otro archivo) y el archivo texto1.txt. Sin embargo, texto2.txt ya ha sido ignorado. Para deshacer esto, solo tienes que borrar la línea con el nombre del archivo en el .gitignore.

Git status untracked archivos

El uso de expresiones regulares en .gitignore

Podemos utilizar las expresiones regulares en el archivo .gitignore. No vamos a ver todas las reglas posibles, ya que hay un montón. Sin embargo, te dejo las más básicas:

Ignorar todos los archivos con una extensión determinada

Con la utilización del asterisco * sustituido como nombre, podemos ignorar todos los archivos de una misma extensión:

*.txt

Esto provoca que todos los archivos con extensión .txt sean ignorados.

Ignorar extensión en gitignore

Excluir carpetas enteras en gitignore

Para excluir una carpeta entera, lo puedes hacer añadiendo el nombre de la carpeta o ruta y una barra al final /.

Crea una carpeta para comprobarlo y borra cualquier norma que hayas escrito en el .gitignore para no liarte. Además, Git ignora las carpetas vacías, por lo que puedes copiar dentro de ella los archivos de texto. Quedará así:

proyecto_3/
|-- carpeta1/
|-- |-- texto1.txt
|-- |-- texto2.txt
|-- texto1.txt
|-- texto2.txt
|-- .gitignore
|-- .git/

Miremos de nuevo el estado:

git status
Carpetas y archivos en git status

Editamos el archivo .gitignore así:

carpeta1/

Esto provoca que la carpeta con todos sus archivos sean ignorados.

Dejamos la parte del curso de Git aquí, en el siguiente capítulo empezamos con GitHub. De aquí un tiempo empezaré a preparar un curso que continúe este con temas más avanzados de Git. Mientras tanto, puedes ir dejándome sugerencias de posibles temas que te gustaría que incluyera en el curso.


Comentarios

Si te quedan dudas sobre el temario, sobre html, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.