O gerenciamento de configuração de software , do qual o Controle de versão faz parte, é um pouco mais complexo do que acompanhar as alterações nos arquivos, embora você certamente possa começar com isso. Mas leia os artigos da Wikipedia relacionados acima, juntamente com o tutorial de Joel Spolky sobre Mercurial .
Para começar, escolha um Mercurial, GIT ou Bazaar, nessa ordem, e instale-o junto com as ferramentas para o seu IDE e sistema operacional (eu prefiro o Mercurial com HGE for Eclipse).
- Inicialize um repositório a partir do seu diretório de trabalho ( hg init com Mercurial) ..
- Decida quais arquivos e diretórios você deseja rastrear e quais não. A regra geral é não rastrear arquivos gerados por compiladores e outras ferramentas.
- Use o comando para adicionar os arquivos e diretórios ao repositório ( hg add for Mercurial).
- Informe a ferramenta sobre os padrões dos arquivos que você não deseja rastrear (edite .hgignore para Mercurial).
- Execute uma confirmação para rastrear as versões originais ( hg ci ).
- Execute uma confirmação após cada marco lógico, mesmo que seja pequeno.
- Adicione novos arquivos ao criá-los.
- Repita os dois últimos.
- Faça backup do diretório de trabalho e do repositório com a frequência razoável.
Com seus arquivos no repositório, você pode conhecer as diferenças entre as duas versões de um arquivo ou diretório ou o projeto completo ( hg diff ), ver o histórico de alterações ( hg hist ) e reverter as alterações ( hg up -r )
É uma boa idéia marcar ( hg tag ) o repositório antes de publicar seu código, para que haja uma maneira fácil de voltar exatamente ao que você publicou para alterações ou comparações.
Se você quiser experimentar uma linha de desenvolvimento diferente, faça-o em uma ramificação simples, clonando o repositório principal ( hg clone ) e não recuando até que o experimento seja conclusivo. É tão fácil quanto ter um diretório de trabalho diferente para o experimento.
Se a experiência for para uma versão nova e atualizada, clone e ramifique (ramificação hg ) para manter todas as cópias dos repositórios atualizadas sem que uma experiência interfira na outra.
Linus Torvalds (que lida com dezenas de milhares de arquivos e milhões de linhas de código em seus projetos) fez uma palestra no Google sobre por que a ferramenta não pode ser CVS, SVN ou qualquer um dos muitos gratuitos e comerciais disponíveis ; vale muito a pena assistir.