Controle de versão para desenvolvedores independentes?

60

Você acha que vale a pena usar o controle de versão se você for um desenvolvedor independente e, em caso afirmativo, por quê? Você mantém o repositório em seu próprio computador ou em outro lugar, onde ele pode servir como backup?

    
por vedosity 17.12.2010 / 00:28
fonte

8 respostas

61

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:

  1. 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.
  2. É 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.
  3. 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.
  4. 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.

    
por 17.12.2010 / 00:37
fonte
34

O controle do código-fonte é totalmente inútil para desenvolvedores independentes, porque, como todos sabemos:

  • desenvolvedores independentes nunca cometem erros
  • desenvolvedores independentes nunca fazem revisões que não funcionam
  • desenvolvedores independentes nunca têm mais de uma versão, então eles não têm uso para filiais
  • desenvolvedores independentes nunca se importam com o que mudou ontem ou na semana passada
  • desenvolvedores independentes nunca precisam de backups

Chame-me de "desenvolvedor dependente": os repositórios do Mercurial clone facilmente entre meu desktop, laptops, unidades de backup USB e bitbucket.org. Eu cresci dependente, e eu gosto desse jeito!

    
por 17.12.2010 / 03:45
fonte
21

Por que não?

Sou desenvolvedor solo e uso o BitBucket e o Mercurial para meus projetos pessoais. Ter a capacidade de reverter e bifurcar seu código é bom demais para ser ignorado.

    
por 17.12.2010 / 00:39
fonte
1

Eu acho valor nisso, pessoalmente. Meus projetos são todos verificados em repositórios git (os quais eu mantenho em várias máquinas em caso de falha de hardware). Os recursos mais úteis são ramificação (para que eu possa executar um experimento que mexa com metade do meu codebase, e não se preocupar em explodir nada permanentemente) e revertendo (que é basicamente apenas desfazer esteróides; no caso eu acho que fiz alguns erro que está fora do intervalo regular de undo).

    
por 17.12.2010 / 00:40
fonte
0

Sim.

Até mesmo desenvolvedores únicos precisam, às vezes, ver o estado do código de alguma revisão anterior. E é sempre uma boa ideia fazer backup de tudo importante, e isso se aplica a todas as pessoas.

    
por 17.12.2010 / 00:38
fonte
0

Sim. É muito muito útil. Meu amigo Matt Gallagher postou este excelente artigo sobre este assunto há poucos dias para o seu blog de desenvolvimento iOS / MacOS" Cocoa With Love ".

O artigo é Mac & Git centric mas cobre o básico.

Você também pode estar interessado nas seguintes perguntas do StackExchange (e suas respostas).

por 17.12.2010 / 00:41
fonte
0

Vale a pena ?? Deve! Se você não usa o Controle de Origem, então você não controla suas fontes, e isso é ruim. Você não pode diferenciar, não pode reverter, não pode acompanhar as alterações - você passará horas tentando descobrir o bug fictício que acabou de inserir. É melhor tê-lo em algum servidor de backup, mas você também pode usar o seu computador e usar qualquer método de backup que achar apropriado.

    
por 17.12.2010 / 01:40
fonte
0

Use absolutamente o controle de origem. Em seguida, configure um servidor de construção e automatize seus processos de criação e teste. Trigger constrói a partir de seus commits de origem de seu repositório central. Eu tenho trabalhado sozinho por três anos e é maravilhoso.

    
por 17.12.2010 / 08:08
fonte