Apêndice A. História do Git
Nenhuma pessoa cautelosa e criativa inicia um projeto hoje em dia sem uma estratégia de backup. Como os dados são efémeros e podem perder-se facilmente - através de uma alteração errónea do código ou de uma falha catastrófica do disco, por exemplo - é sensato manter um arquivo vivo de todo o trabalho.
Para projectos de texto e código, a estratégia de salvaguarda inclui normalmente o controlo de versões, ou o acompanhamento e gestão de revisões. Cada programador pode fazer várias revisões por dia e o corpus cada vez maior serve simultaneamente de repositório, narrativa do projeto, meio de comunicação e ferramenta de gestão da equipa e do produto. Dado o seu papel fundamental, o controlo de versões é mais eficaz quando adaptado aos hábitos de trabalho e objetivos da equipa do projeto.
Uma ferramenta que gere e rastreia diferentes versões de software ou outros conteúdos é designada genericamente por sistema de controlo de versões (VCS), gestor de código fonte (SCM), sistema de controlo de revisões (RCS) e várias outras permutações das palavras revisão, versão, código, conteúdo, controlo, gestão e sistema. Embora os autores e utilizadores de cada ferramenta possam debater esotéricos, cada sistema aborda a mesma questão: desenvolver e manter um repositório de conteúdos, fornecer acesso a edições históricas de cada dado e registar todas as alterações num registo. Neste livro, o termo sistema de controlo de versões é utilizado para se referir genericamente ...