1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Melhor sistema de controlo de versões

Discussão em 'Programação' iniciada por ThatsMe, 10 de Dezembro de 2012. (Respostas: 10; Visualizações: 1258)

  1. Viva.

    Após uma pesquisa por aqui, reparei que recentemente (há uns bons anos, vá) não tem havido aqui discussão sobre controlo de versões para desenvolvimento de software.

    Como estou prestes a começar um projecto académico de grandeza considerável (6 programadores), lanço aqui a discussão para também me servir de ajuda e ponto de partida:

    Qual o melhor software para o efeito? As linguagens a utilizar serão maioritariamente .net (asp e c#), c++ e Prolog. Muito se fala do Git, Mercurial, etc mas a oferta é tanta que se torna complicado escolher. O que recomendam?

    E já agora aproveito para perguntar se aconselham algum software para gestão de projecto que sirva para gerir o tempo, milestones, entregas, etc.
     
  2. HibridOPT

    HibridOPT Power Member

    Boas,

    Dos sistemas mais usados acredito que seja o SVN. Em java uso o subversion da tigris, um plugin para o eclipse. Fora do eclipse uso o tortoiseSVN.

    Em relação a gestão de projecto, se queres investir tempo num software que seja usado a nivel profissional... Diria o MS Project. Se fores usar uma metodologia ágil como Scrum, dá um olho neste: rallydev.com
     
  3. nfk

    nfk Power Member

    Eu recomendo o Git. Tem algumas vantagens importantes em relação ao subversion, embora a maior parte delas só se notem com projetos grandes (performance, facilidade de branching). O que eu mais gosto no git (e na nova geração de CVSs distribuídos) é que podes ir trabalhando no teu computador, com o repositório completo, mesmo sem ligação à internet, e quando queres fazes um pull/push das modificações. Sugiro o Git porque é o que conheço melhor, já usei pontualmente o Mercurial e o Darcs, e sei que há outros, mas não conheço bem as diferenças.
     
  4. Ace-_Ventura

    Ace-_Ventura Power Member

    Dos que usei até hoje (CVS, SVN, Mercurial e git), o SVN é para mim o melhor.
    CVS já está completamente desactualizado, nem vale a pena comentar.
    Mercurial deu vários problemas nos projectos que usei. Desde erros mais simples a fazer merges, a bases de dados corruptas.
    git é bom mas as GUI deixam 1 bocado a desejar (a melhor ainda é a git extensions).
    SVN apesar de precisar de ser centralizado, ainda é o mais maduro.
     
  5. joao.miguel

    joao.miguel Power Member

    Da uma vista de olhos no tfs online. Não me recorda é o limite de users mas existe uma versão free.
     
  6. Estive a dar uma vista de olhos e o Git parece-me porreiro...
     
  7. insanity

    insanity Power Member

    É de notar que Git, Mercurial, Bazaar, etc... são sistemas de controlo de versão distribuidos, o CVS, SVN, etc já não são. Acho que isto é uma diferença relevante quando da escolha, sobretudo porque a gestão é diferente. Se estás a trabalhar num projecto pequeno, com pouca gente, o SVN será melhor, já o Git, Mercurial é mais adequado a projectos de larga escala (tipo, open-source)...
     
  8. dropko

    dropko Power Member

    nao partilho dessa opiniao que diz que o SVN é para projectos pequenos e o Git para larga escala. Isso deve ser por causa do GitHub que dá essa ilusão. funcionam de forma diferente, é verdade, mas até para centenas de users o SVN funciona perfeitamente.

    subscrevo a opinião do Ace-_Ventura. para mim é mesmo assim.

    são todos bons (até o CVS: é bom, mas dá imensa dor de cabeça quando é preciso mudar alguma coisa, por isso também evito), desde que sejam bem controlados por toda a gente. merges pode dar sempre problemas, é preciso é ter cuidadinho!

    o melhor mesmo de sair de CVS/SVN é para evitar as pastinhas irritantes locais para controlo (.cvs e .svn. argh!)

    TFS, não aconselho. usei pela primeira e ultima vez em 2007, não sei se melhorou entretanto, mas aquele sistema de checkin/checkout era péssimo.
     
    Última edição: 22 de Janeiro de 2013
  9. RRoques

    RRoques Power Member

    Boas,

    Já utilizei o SVN na universidade mas nos últimos tampos tenho utilizado o GIT e confesso que não quero outra coisa, a criação de novos branches é do mais simples que existe, o facto de ficar tudo numa pasta .git e não em cada subdiretoria tambem te ajuda a ter mais controlo sobre o mesmo e fica mais organizado.

    Outro ponto que podes ter em consideração é o facto de ser distribuido, sendo que com 6 pessoas a trabalhar no mesmo projecto, não terias necessidade de ter um servidor ou repositório principal para colocar o master.

    Uma ferramenta que utilizado bastante é o Git-Flow que te ajuda a organizar o projecto de forma a dividires as várias versões existentes em diferentes branches, criar branches específicos para Dev, para Releases e outros como hotfix, bugfix e features.

    Como o dropko disse o Git não se limita apenas a projectos grandes, nem o SVN a projectos pequenos. Penso que consegues usufruir totalmente do Git em projectos mais pequenos como é o caso do que vais realizar. A associação do Git a projectos open-source nem sempre é verdade, basta vermos o caso das App criadas no XCode que tem como base o Git, com "total" integração no o Xcode e sem serem open source.
     
  10. paulo.correia

    paulo.correia Banido

    E não esquecer, que podem trabalhar com o GIT em Remoto entre uma equipa, apenas por partilharem uma pasta de DropBox onde fica o repositório "master" ;)
     
  11. MCH2387

    MCH2387 Power Member

    Real man use GIT without GUI!!!
     

Partilhar esta Página