controle de versão para equipe pequena [fechado]

13

Estamos iniciando uma nova equipe de tamanho muito pequeno (digamos, 2-5). Minha pergunta é: qual tipo de controle de versão funciona melhor para esse tipo de equipe, centralizada ou distribuída.

prasonscala
fonte
Experimente o SVN tortoisesvn.tigris.org Este é o melhor para você.
Vijesh V.Nair
O que você quer escrever e qual plataforma?

Respostas:

30

Distribuído todo o caminho, não há realmente nenhum ponto para o IMHO centralizado, especialmente se você estiver falando sobre o desenvolvimento da equipe.

Outro voto para o Mercurial, sem problemas para configurar no Windows e o bitbucket.org possui repositórios gratuitos (que podem ser privados) com espaço ilimitado.

Se você planeja trabalhar em um projeto de código aberto, o git e o Github parecem ser mais adequados / populares. No entanto, se você não se aventurou nos DVCSs, recomendo começar com o Mercurial e este guia incrível .

dukeofgaming
fonte
1
+1 para esse guia incrível de Joel Spolsky. Coisas boas. Além disso, mesmo que você seja muito pequeno agora, como o @dukeofgaming diz, não há mais motivo para começar centralizado. Mesmo que você esteja planejando apenas um pouco à frente.
Mark Freedman
Para projetos preocupados com a liberdade de software, gitorious é provavelmente melhor que o github.
Lars Wirzenius
@ Lars: O que você quer dizer com "liberdade de software"?
Richard Ev
5
Mesmo como desenvolvedor solitário, o Mercurial faz todo o sentido.
Oliver Weiler
Amém Método @helper, é assim que eu comecei a usá-lo
dukeofgaming
4

aquele que todos vocês usarão consistentemente

[pessoalmente, eu gosto do Mercurial]

Steven A. Lowe
fonte
15
Contanto que não seja SourceSafe.
Robert Harvey
4

Provavelmente, a melhor resposta é "o que você quiser". Mesmo quando trabalho com coisas pessoais, eu uso o Git. Parece fazer um bom trabalho de escalar para cima e para baixo e minha experiência limitada com o Mercurial é praticamente a mesma.

MIA
fonte
Pela minha experiência limitada com o Git - se você estiver em uma plataforma Windows, as ferramentas do Git ainda não estão prontas para o horário nobre. Ficar com Mercurial (ou forno). Em outras plataformas, o Git provavelmente está bem.
Mark Freedman
1
Msysgit funciona bem se você estiver familiarizado com um prompt do Shell.
@ Mark você certamente está correto se as pessoas não querem linha de comando. No entanto, a linha de comando do Git (com um shell como Thorbjorn aponta) está bem. Só programa no Windows e estou usando projetos Git for VS. Certamente não há nada que se aproxime do TortoiseSVN e AnkhSVN for Git.
MIA
1

Eu acho que você deve escolher o que você quiser. Em uma equipe pequena, você não terá árvores de código diferentes (como o kernel do Linux), portanto, um repositório central está OK. Mas você pode ter essa configuração também com VCS distribuído. Então, eu iria com popularidade e experiência pessoal. Populares são SVN, git e Mercurial. Você deve decidir qual deles é melhor usado com sua equipe (experiência, suporte de ferramenta no IDE escolhido etc.).

Mnementh
fonte
1

Realmente depende de seus desenvolvedores desenvolverem ou não muito código offline ou não, mas apenas escolher entre um repositório distribuído ou centralizado, pois essa é a primeira coisa que você deve decidir. Então, se você decidir que uma abordagem centralizada funciona melhor que o SVN, é tudo o que você precisa. Por outro lado, se você optar por uma abordagem distribuída, em vez de usar o git, mesmo no Windows, é bom o suficiente, pois agora você tem o tartartoise git (a mesma interface que também existe para o svn). Além disso, não conte muito com o suporte do IDE, pois poderá ser uma surpresa desagradável se você usá-lo e poderá achar que os arquivos que não devem ser confirmados são confirmados em seu nome pelo IDE.

Coiote21
fonte
1

Pergunte à sua equipe se alguém quer cuidar disso. É muito melhor ter um sistema estável e uma pessoa responsável do que um bom sistema quando ninguém se importa com isso e ninguém é capaz de restaurá-lo a partir do backup.

Se houver essa pessoa - ele já saberá o que usar, então aceite sua decisão. Caso contrário, obtenha uma solução hospedada. Seria muito estúpido tentar o GIT (um dos melhores) se todos os desenvolvedores nunca tocassem no Shell / Linux.

Também depende do número de pessoas "não técnicas" que precisam ler / contribuir. Apenas certifique-se de que eles possam usá-lo, e existem ferramentas disponíveis.

Konstantin Petrukhnov
fonte
1

O SVN é amplamente suportado em ferramentas. Ferramental é a chave; pessoas diferentes terão diferentes conjuntos de habilidades. Alguns preferem a linha de comando, outros preferem ferramentas baseadas em IDE, outros preferem ferramentas gráficas. No momento, o SVN parece ser a ferramenta mais amplamente suportada.

Fora isso Mercurial ou Git.

Fortyrunner
fonte
0

Eu acho que nas pequenas empresas há argumentos para ter certas coisas centralizadas. (Pense, por exemplo, em backup externo. Quando você tem apenas duas pessoas trabalhando em um projeto e elas estão alojadas no mesmo prédio e há um incêndio, descentralizar os dois computadores pode não ser suficiente.)

No entanto: ter uma solução parcialmente centralizada não o limita a um sistema centralizado. Você pode simplesmente enviar para um servidor externo com algo como git ou mercurial.

Inca
fonte