Existem vantagens em usar um DVCS para um desenvolvedor solo?

19

No momento, eu uso o svn visual no meu servidor e tenho ankhsvn / tartaruga na minha máquina pessoal. Ele funciona bem o suficiente e não preciso alterar, mas se eu puder ver alguns benefícios do uso de um DVCS, talvez eu tente.

No entanto, se não houver sentido ou diferença em usá-lo sem outras pessoas, não vou incomodar.

Então, novamente, pergunto: existem benefícios em usar um DVCS quando você é o único desenvolvedor?

Steven Evers
fonte
1
Veja post similar no stackoverflow: stackoverflow.com/questions/179161/… . Tudo o que você precisa saber é resumido muito bem lá.
ysolik
Então, minha pergunta foi encerrada como uma duplicata exata como esta. Infelizmente esta pergunta não responde à minha. Vocês empurram e puxam do mestre quando são desenvolvedores solo, ou se ramificam e se fundem? Eu só estou tentando ver o que a maneira correta de usar um DVCS é quando você está sozinho
Perseguição Florell
1
backups são essencialmente apenas mais um clone. Isso pode ser muito importante algum dia. Também as ferramentas git são anos-luz à frente do svn.
Você trabalha em um laptop, longe do servidor?
JBRWilkinson

Respostas:

19

Sim! Eu acho que o maior benefício é o melhor suporte de ramificação + fusão oferecido por muitos DVCSes. Ramificar e se fundir é meio chato no SVN; é irritante o suficiente para que não valha a pena criar ramificações pequenas e de curta duração para adições rápidas de recursos, correções de bugs ou experimentação, mas a fusão também é irritante o suficiente para que seja uma dor criar ramificações de longa duração. Por outro lado, ramificar e mesclar é muito fácil no Git, tanto que eu crio um ramo (local) para quase todas as correções ou recursos em que trabalho.

Eu acho que as ferramentas oferecidas pelo Git para visualizar repos, grepping logs, etc., também são muito melhores do que no SVN (embora isso seja mais uma coisa do Git do que específica para um DVCS).

Um DVCS também não requer um servidor central; ao usar o SVN como desenvolvedor, você precisa criar um repositório local para fazer push, o que não é um requisito do Git, pois todo repositório contém o histórico completo. Como corolário, arquivar um repositório é apenas uma questão de fechar o seu projeto - não há um "banco de dados central" para fazer backup.

Comecei a usar o Git quase quatro anos atrás, depois de usar o SVN por um tempo, e não olhei para trás.

mipadi
fonte
Opiniões de opinião: programmers.stackexchange.com/questions/940/…
TheLQ 10/10
4
Há uma visão de que os DVCSs não facilitam a mesclagem, mas que os usuários do DVCS são mais experientes na execução de mesclagens. Isso facilita a aparência subjetiva de mesclagens. Claro que é a visão subjetiva que importa.
Richard
3
O DVCS não é igual a git exclusivamente #
Murph 10/10
6
@ Richard Mas isso é errado, as ferramentas centralizadas tendem a ter um histórico linear que não suporta combinações complexas.
alternativa
2
@ Murph: Isso é verdade, mas eu uso o Git, então usei no meu exemplo.
mipadi
7

Eu uso muito um DVCS para minhas coisas pessoais. (Eu sou um desses caras que está no $ HOME no git .) Existem várias vantagens:

  • Faz replicação entre meu laptop e computadores desktop e de laboratório realmente fácil. Embora isso fosse verdade para SVN também ...
  • Posso confirmar no laptop mesmo quando não tenho acesso à Internet.
  • Os backups são tão simples quanto um git pull.
  • Posso usar git citoolpara dividir muitas alterações em confirmações de tamanho lógico, mesmo que eu tenha feito muitas alterações não relacionadas antes de decidir confirmar. Não conheço uma ferramenta para fazer isso no Subversion.
  • Quando tenho que corrigir um projeto de código aberto, é mais fácil manter as coisas organizadas, criando um novo repositório git no diretório do projeto, do que fazer uma segunda cópia de qualquer árvore de código-fonte que estou corrigindo. (Você não pode fazer isso facilmente com o Subversion, porque precisa de um repositório separado em outro lugar do seu disco rígido.)
  • Uso os recursos de ramificação fácil para verificar as revisões que recebo de outras pessoas. Por exemplo, quando edito um documento da conferência com meu orientador, mesmo que ele não tenha acesso ao repositório, posso enviar uma cópia do artigo e verificar suas revisões em uma ramificação baseada na versão que enviei ele e, em seguida, use git mergepara mesclar suas revisões com qualquer coisa que eu tenha feito nesse meio tempo.

O Git me acostumou a pensar em todas as minhas alterações nos blocos lógicos, muito mais do que o Subversion já fez.

Ken Bloom
fonte
(ou git fetch para um espelho)
5

Minha mãe desliga o modem quando é tarde demais para dormir. O DVCS me permite continuar trabalhando com o VCS após o modem estar desligado.

ceder
fonte
1
Eu o chamaria de "poder trabalhar em um avião" ou "poder trabalhar quando o bitbucket.com cair", mas +1 por cobrir o caso off-line.
Wyatt Barnett
Também lugares ao ar livre sem rede 3G.
linquize
3

Bem, a resposta padrão seria "Se (o que você estiver usando agora) funcionar para você, por que você mudaria?".

Mas, sim, mesmo que não haja motivo para uma mudança, acho que usar o DVCS é um pouco mais fácil do que os "modelos mais antigos". O que se segue é o Mercurial , que eu mais uso, portanto, sua milhagem pode variar, dependendo do sistema que você usará.

  • realmente fácil de usar - descobri todos os comandos necessários em mais ou menos uma hora
  • tudo é local (você não precisa que o servidor remoto esteja online)
  • ramificação / fusão muito fáceis - você nem pensa mais nessas coisas
  • clonagem fácil (também, um tipo de ramificação) - e, geralmente, uma interface muito mais amigável (achei mais agradável do que o git no Windows; também alguns conceitos são mais simples; ou seja, não requer pensamento do meu lado, levando a menos mexer com o VS e mais trabalho realizado)
  • funciona bem com svn

Saltar para uma introdução ao Mercurial e um blog (cores bonitas ;-) com dicas úteis .

Torre
fonte
Hmm, o CVS costumava trabalhar para nós, mas nem de longe como a subversão quando nos mudamos para ele. Novos brinquedos oferecem novos recursos - então, precisamente por esse motivo, estou analisando se o Mercurial agora pode ser uma opção melhor (especialmente quando uso o FogBugz) e também o potencial de veracidade ...
Murph
3
Mudar de SVN para Mercurial foi uma revelação para mim. Foi inspirado no maravilhoso hginit.com de Joel e nunca olhei para trás.
Adam Crossland