Casi de manera involuntaria, en abril de 2005 el creador de Linux, Linus Torvalds, comenzó con el desarrollo de un nuevo sistema de control de versiones. La razón: debido a un cambio en la licencia del sistema BitKeeper, los desarrolladores del núcleo de Linux perdieron su privilegio de uso gratuito. El nuevo sistema debía proporcionar flujos de trabajo similares a los de Bitkeeper y ofrecer un alto nivel de eficiencia, así como seguridad frente a cambios accidentales o intencionales.
Git es un sistema de control de versiones distribuido, lo que significa que, aunque existe un repositorio central en el cual se incorporan los cambios, todos los usuarios pueden descargar su propia copia de trabajo. De esta forma, todos tienen acceso al repositorio completo, incluyendo el historial local, sin depender de ningún tipo de conexión de red. Todos los cambios se transfieren rápidamente al repositorio central. Como consecuencia, Git no ofrece ningún sistema de bloqueo, sino que cada usuario genera sus propios directorios o branches dentro del árbol para ser cargados posteriormente al repositorio central. Por defecto, cada usuario tiene permisos de lectura y escritura para los diferentes directorios (en caso de que se quiera asignar permisos especiales, será necesario crear otros directorios raíz). Cada copia de trabajo es una copia de seguridad independiente del directorio raíz, lo que resulta ventajoso si este sufre algún daño o fallo. Git solo registra los contenidos de los directorios, por eso los vacíos se eliminan automáticamente.