GIT es un software de control de versiones.
La finalidad es poder registrar los cambios que se presenten en el proyecto.
Fundamentalmente su uso se da cuando se trabaja en equipo, ya que varias personas van a estar trabajando sobre los mismos archivos haciendo diferentes versiones.
Obviamente, también se puede utilizar para trabajar solo!
La opción para poder trabajar sobre tu proyecto de manera remota es, por ejemplo, GitHub, que lo vamos a ver la clase que viene.
No todos los archivos y carpetas son necesarios. A veces incluso hay carpetas como es el caso de node_modules que pesan un montón y no le sirven a nadie más que a vos o que tienen información "confidencial" o nada relevante para personas externas al proyecto como los archivos package.json o package.json-lock
En estos casos vamos a crear un archivo oculto que se va a llamar .gitignore y en ese archivo vamos a escribir los nombres de los archivos o carpetas que queremos obviar de guarlarlos en git