Se você usa o controle de código descentralizado (Mercurial ou Git ou Bazaar ou qualquer outro), você obtém vantagens sobre o SVN / CVS, o que torna fácil, útil e poderoso o uso no caso de você ser indy:
- Você confirma localmente : o diretório do seu projeto é o seu repositório com o histórico COMPLETO. Então você não precisa ter um servidor, você confirma diretamente no seu repositório, e você pode ter vários repositórios no mesmo computador. Usando um laptop que você abre às vezes para continuar trabalhando nas suas coisas? Ótimo! Você não precisa configurar um servidor e, se precisar de um mais tarde, é fácil e basta "empurrar" e "puxar" as alterações entre os repositórios.
- É feito para facilitar a experimentação : muitas vezes você precisa ter uma ideia sobre um recurso sem poluir o código. Com o SVN e o CVS você já pode usar um sistema de ramificação e abandonar o ramo se o recurso não for tão bom quanto você queria que fosse. Mas se você quiser mesclar o recurso com a versão de tronco, você terá muitas dificuldades para consertar surpresas. Git, Mercurial e Bazaar (pelo menos) tornam as fusões e filiais realmente fáceis. Você pode até mesmo duplicar um repo, trabalhá-lo em algum momento, ainda confirmar e matar ou empurrar suas alterações no repositório principal, se quiser.
- Flexibilidade da organização : como apontado anteriormente, como você tem repositórios organizados conforme necessário, é fácil começar sozinho e permitir que outras pessoas trabalhem com você alterando sua organização. Nenhuma organização é imposta então você só tem que configurá-lo e voilà. Eu costumo apenas empurrar / puxar as mudanças entre meus próprios computadores (laptop / desktop / servidor) e eu ainda estou sozinho em meus devs. Eu uso o Mercurial e isso me ajuda a duplicar meu trabalho, mas também a trabalhar em recursos que eu considero fora do meu laptop, depois continuar trabalhando em outros recursos na minha área de trabalho, empurrar as alterações no meu desktop ou servidor e mesclar toda a área de trabalho. laptop e colocá-lo (como backup e repo trabalho em equipe futuro) no meu servidor.
- Ajuda a configurar backups : se você configurar um repositório central (no GitHub, se for público ou em um repositório privado no BitBucket), poderá escrever facilmente um script que será executado sempre que um computador for inicializado e, em seguida, passe o script para seus amigos para que ele faça backups automáticos do seu trabalho regularmente. É o que estou fazendo agora, tenho certeza de que não será fácil perder meu trabalho.
Na verdade, atualmente, você não tem desculpa para não usar uma ferramenta de origem de controle para qualquer projeto. Porque eles são mais poderosos e flexíveis do que antes e se adaptam às suas necessidades.