Usando o controle de versão para desenvolvimento doméstico?


138

Até agora, desenvolvi meus projetos pessoais e escolares em casa sem usar nenhuma forma de software de controle de revisão para lidar com minhas alterações e outros enfeites.

Minha pergunta é: quão viável é usar um aplicativo de controle de versão (como o TortoiseSVN ) para projetos pessoais que faço para mim (e até mesmo projetos escolares)?

Vale a pena o trabalho de fazer check-in, realizar alterações e toda essa rotina, apenas para 'projetos domésticos' em vez de apenas fazer backups manuais?

Ligações :


2
É muito mais fácil usar o controle de origem do que fazer backups manuais! Talvez seja mais fácil aprender a fazer backups manuais do que aprender a usar o controle de origem.
— Yfeldblum

1
Eu posso recomendar o VisualSVN, muito fácil de usar. E o seu servidor de subversão é livre :) ( visualsvn.com )
— Svish

Em vez disso, use um servidor hospedado; você recebe zero de manutenção + backup. Eu uso Unfuddle: stackoverflow.com/questions/430742/…
— ripper234

Respostas:


191

Completamente.

Créditos também para http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :

  • Às vezes cometemos erros estúpidos. Ter uma rede de segurança de controle de fonte é uma obrigação.
  • Marque marcos importantes. Mesmo no desenvolvimento doméstico, você pode marcar um conjunto de arquivos e revisões como sendo uma versão específica do software.
  • Você treina para a sua vida profissional. Colocar na sua cabeça a metodologia de trabalho associada ao uso do controle de origem o prepara profissionalmente.
  • Eficiência de armazenamento. Os sistemas atuais de controle de fonte armazenam as revisões como uma diferença delta para a revisão anterior. Isso significa que é mais eficiente em disco, pois o arquivo inteiro não é armazenado, mas apenas as diferenças.
  • Você tem o histórico de toda a sua árvore de fontes. Você pode ver rapidamente o que foi alterado e quando foi alterado. Compare arquivos de diferentes revisões e mesclar facilmente.
  • Você pode ramificar para experimentar. Se você tem algumas experiências em mente, pode criar uma ramificação (uma nova linha de desenvolvimento independente) e testá-la. No final, se você estiver satisfeito com os resultados, mescle-o na HEAD (linha principal de desenvolvimento). Você obtém tudo isso de graça, sem precisar criar uma cópia e receber os mesmos benefícios do uso do controle de origem, mesmo durante a experiência.

13
Apenas uma coisa a acrescentar: desde que o sistema de controle de versão esteja em uma máquina remota, ele fornece um backup online simples do seu trabalho.
— NotMe

Eu concordo completamente. Sempre que você precisar tirar proveito de um único desses recursos, você já recuperou o custo menor do uso do controle de origem.
— 31580 Chris Farmer

O ponto 4 do marcador não é aplicável ao git. O git é otimizado para desempenho de mesclagem, e o armazenamento de diferenças não é benéfico para esse objetivo. hoje em dia, presume-se que você tenha espaço em disco suficiente para o seu código-fonte. No entanto, todos os outros pontos são razões para usar qualquer controle de origem e, obviamente, o git satisfaz todos eles.
— SingleNegationElimination

Mais uma vez, recomendo o git, especialmente para os pontos 2. 5. e 6. O git tem uma interface muito legal para marcação, ramificação, mesclagem etc. e algumas das ferramentas gráficas, como qgit ou gitk, tornam muito fácil ver como todos ramos se encaixam .. é também um pedaço de bolo para transformar sua atual (sem versão) diretório de trabalho em um diretório git com 3 comandos: git init git add, git commit.
— David Claridge

Se o seu projeto pessoal é grande o suficiente para tornar o ponto 4 (eficiência de armazenamento) importante, você definitivamente precisa de controle de origem!
— Tikhon Jelvis

31

Vale totalmente a pena.

Observe que você também não precisa configurar um servidor SVN completo. Você pode simplesmente criar um repositório no sistema de arquivos local e conectar-se ao arquivo: // sintaxe da URL. Isso significa que você não precisa enfrentar o incômodo de configurar um daemon SVN (que provavelmente é um exagero para um projeto de usuário único)

Você também pode procurar opções mais leves, como o git, que mantêm todos os arquivos de trabalho localmente, sem a necessidade de criar um repositório separado. O Git oferece mais algumas opções de como você também configura seu controle de origem no caminho.


1
Eu tentei recentemente o git porque um projeto que eu estava seguindo o usou. Eu imediatamente mudei para o git para meus projetos pessoais e de trabalho assim que vi como é simples e rápido . Altamente recomendado.
— Dave Sherohman

8

Usar o controle de origem também é bom para fins de backup. Se você sempre fizer check-in de tudo, poderá fazer backup de todos os seus projetos de código-fonte, fazendo backup de todos os seus repositórios. Se você possui várias máquinas, não precisa se preocupar com a localização da versão mais recente do código - ela está no servidor de repositório.


6

Eu mantive minha tese de mestrado inteira sob controle de origem - tanto o código quanto a própria tese -, por isso sou um forte defensor disso, e não apenas pelo código.

Para projetos individuais, a principal vantagem é a liberdade de mudar as coisas e experimentar, sabendo que você sempre pode voltar à versão anterior, se não funcionar. E fornece backups implícitos do seu trabalho (apenas verifique se o seu repositório svn está no mínimo em um disco rígido diferente do trabalho principal)


5

Absolutamente, vale a pena fazer. Dá a você a capacidade de experimentar refatorações malucas e loucas e depois retirá-las com facilidade, se não funcionarem. Ele também cria bons hábitos para se / quando você trabalha de forma mais colaborativa com um grupo.

Com o Subversion (pelo menos), você nem precisa ter um "servidor" - um diretório simples pode servir como seu repositório se você acessá-lo com os URLs do tipo "file: //". Existe até um livro gratuito que contém praticamente tudo o que você precisa saber para começar:

http://svnbook.red-bean.com/nightly/en/index.html


4

Acho que é extremamente útil ter uma configuração de servidor SVN porque me vejo voltando a revisões e outros projetos de 'descarte' porque lembrei de alguma função ou maneira de fazer algo que eu poderia usar agora. Tendo o servidor SVN, sei que o código está armazenado em casa e posso recuperá-lo mais tarde.


4

O controle de revisão é ótimo porque permite que você seja mais experimental, sabendo que, se seus experimentos falharem, você terá algo a que recorrer.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.