# Git

**Git** es un sistema de control de versiones distribuido, creado por Linus Torvalds en 2005.

Un sistema de control de versiones te permite guardar el historial de cambios de tus proyectos y trabajar con otros colaboradores en un mismo proyecto.

Aunque existen otros sistemas de control de versiones como [SVN](https://subversion.apache.org/) y [Mercurial](https://www.mercurial-scm.org/), **git** es el más popular y el más usado de la actualidad.

El concepto más importante de **git** es el repositorio. Un repositorio es una carpeta que va a almacenar todo el historial de cambios de un proyecto.

El historial de cambios se crea a partir de **commits**. Un **commit** es una fotografía de tu proyecto en un momento determinado.

En estas guías vamos a ver primero cómo trabajar con **git** localmente y luego veremos cómo utilizar un servicio llamado [Github](https://github.com) para crear repositorios centrales que nos van a permitir trabajar de forma efectiva con otros colaboradores sobre un mismo proyecto.

## Prerequisitos

* [Preparación](preparacion)

## Contenido

* [Instalación y configuración](git/instalacion-configuracion)
* [Conceptos y comandos esenciales](git/conceptos-comandos-esenciales)
* [Ignorando archivos y carpetas](git/gitignore)
* [Trabajando con ramas](git/ramas)
* [Repositorios remotos](git/repositorios-remotos)
* [Etiquetas](git/etiquetas)
* [Reescribiendo la historia](git/reescribiendo-la-historia)
* [Stashing](git/stashing)
* [Github](git/github)
