svn - software - git



O Controle de Versão é necessário para um pequeno grupo de desenvolvimento(1-2 programadores)? (20)

Eu estou tentando debater o ponto que o controle de versão é importante para um ou dois desenvolvedores.

Mais especificamente, trabalho em um departamento em que normalmente há dois desenvolvedores PHP, usando uma estrutura compartilhada. Ele argumenta que não há nenhum valor agregado em nós tendo o Subversion instalado em nosso sistema de desenvolvimento, enquanto eu argumento que é legal ocasionalmente poder reverter o código anterior, especialmente quando há erros inexplicáveis ​​que são difíceis de serem fixados. ponto em algumas das classes.

Eu acho que o Subversion oferece a maneira mais fácil de criar e rastrear mudanças, por várias razões, incluindo depuração. O Subversion economizaria a qualquer momento?


Answer #1

É claro que o controle de versão é necessário mesmo para um projeto de um homem.

A opção de salvar contextos e não apenas mudanças no código é a grande coisa que o controle de origem faz, você vai de " arquivar isso e aquilo alterado em linha blah " para " Eu adicionei uma nova opção para fazer ... " que é realmente valioso.

Não me escute, embora haja um ótimo artigo que rands escreveu sobre isso

Capturando Contexto


Answer #2

Absolutamente. Não há realmente nenhuma outra maneira de lidar com reversões de um bom estado conhecido quando o caminho de codificação que você arriscou se torna denso com lobos.

E você pode fazer o backup.


Answer #3

Controle de versão irá salvar sua bunda. Um desenvolvedor profissional que não usa controle de versão é uma das poucas coisas que, indubitavelmente, se enquadram na categoria de negligência de software.

Mesmo se você for um desenvolvedor solitário,

  • Deixe você voltar a quando um recurso funcionou
  • Manter um backup automaticamente: efetue o check-in e o backup dele.
  • Deixe-o desfazer suas mudanças locais quando você se amarrou em um nó.
  • Deixe você voltar para a versão que está sendo executada na produção, no ambiente de teste ou no ambiente de um determinado cliente para depuração.
  • Se usado corretamente, ele também permitirá que você veja todas as alterações relacionadas a uma correção para um problema específico, que pode ser uma ferramenta de depuração inestimável.

Se você é mais do que um desenvolvedor, ele impedirá que um programador sobrescreva as alterações feitas a outro programador, o que acontecerá, não importa o quão cuidadoso você seja.

Estas são apenas as noções básicas que devem ajudá-lo a ganhar qualquer argumento sobre usar ou não o controle de versão.


Answer #4

Definitivamente sim.

Mesmo se você for um único programador, precisará de controle de versão. A simplicidade com a qual você pode comparar o código a qualquer instantâneo no tempo é inestimável.

Meu conselho - vá em frente!

[Uma vez eu vivia sem controle de versão. Agora eu não posso mais.


Answer #5

Eu recomendo fortemente o controle do código-fonte, independentemente do tamanho da equipe. Eu tive muitas sessões tarde da noite onde eu quebrei meu código e não tive controle de código-fonte para ir para versões de trabalho mais antigas.


Answer #6

Eu só vou empilhar aqui e dizer sim. Como @ 17 de 26 disse

Não ter algum tipo de controle de fonte é pura insanidade.

Isto e verdade. Eu fiz pequenos projetos com e sem controle de fonte (não minha escolha). Sem, é uma merda. Não há versão canônica do projeto, você nunca sabe quem tem o quê e as mudanças de fusão são um exercício de dor.

Realmente, qualquer coisa sobre 5 linhas de código deve estar sob algum controle de versão.


Answer #7

Eu sou um programador de "banda de um homem" e finalmente comecei a usar o controle de versão quando me vi copiando aplicativos inteiros e colocando-os em uma pasta chamada "backup" e depois nomeando-os algo como "20080122-backup". Eu imagino que muitas pessoas começam assim. Então, a questão não é se você deve ou não usar o controle de versão, mas deve fazê-lo da maneira certa ou você deve cortar algum fac-símile caseiro?


Answer #8

Eu tenho um projeto que só eu trabalho e controle de versão torna minha vida muito mais fácil. Por exemplo, digamos que eu decida implementar um novo recurso. Seja qual for a razão, eu decido destruí-lo - talvez eu tenha escrito errado, talvez eu tenha mudado de idéia sobre a implementação, seja qual for. Tudo o que preciso é reverter para uma versão anterior do SVN, em vez de reverter manualmente cada arquivo envolvido.


Answer #9

Independentemente de você ser um único desenvolvedor ou um grupo de desenvolvedores, você deve fazer o seguinte antes de começar a codificar QUALQUER COISA :

  1. Configurar um sistema de controle de versão . Use qualquer sistema que você goste, git, SVN, Mercurial. Não importa desde que você saiba como usá-lo.
  2. Configure um sistema de documentação colaborativa . Use um Wiki ou um trac, ou qualquer outro sistema que você saiba usar.
  3. Configure o sistema de compilação . Use o Make, ANT, Maven ou qualquer outro sistema de compilação que você saiba construir.
  4. Escreva os primeiros casos de teste .

Não codifique uma única linha do aplicativo principal até que você tenha feito esses quatro


Answer #10

O Controle de Versão é a ferramenta mais importante que um programador possui, ainda mais importante que as linguagens de programação atuais. Não importa quantos usuários você tenha, o controle de origem sempre deve ser necessário. Eu não sei quantas vezes eu fiz uma mudança e depois precisei voltar e trabalhar no código antigo ou pelo menos apenas ver como o código original funcionava. Eu trabalho em pequenas equipes e usamos o SVN Notifier para nos informar quando as coisas são confirmadas. Isso nos permite rever o trabalho uns dos outros e você não tem o temido "Você verificou o seu código ainda?" perguntas o tempo todo. Usar o controle de origem desde o início elimina muitas dores de cabeça (sobrescreve, código perdido, lutas sobre quem mudou o quê) que você pode enfrentar.


Answer #11

O controle de versão é necessário somente quando o número de programadores é> 0.

Use qualquer sistema que funcione e você se sentir confortável, mas se você desenvolver, precisará de controle de versão (idealmente configurado de tal forma que a fonte esteja em pelo menos duas máquinas, mesmo antes de se preocupar com backups).

Além disso, procure um sistema que permita comprometer-se com antecedência e cometer com frequência.

Eu sou quase - por mais estranho que pareça - indo em direção à visão de que todo projeto, mesmo um 1 dev - deveria estar olhando para integração contínua, ou seja, ter este sistema construído e testado, do zero, cada vez que mudanças são cometidas ou pelo menos em uma base regular. Por quê? Isso a) lhe dá a confiança de que você tem um sistema compilável no VCS e b) garante que você realmente tenha uma compilação limpa para testar e implantar.


Answer #12

O controle de versão deve ser a primeira coisa em que você pensa ao iniciar um projeto. A segunda é a construção automática, a terceira é o teste, a quarta é a incorporação de seus testes às suas construções.


Answer #13

Quando eu quero ir às lojas, eu levo meu carro para transportar a casa de compras. Não é necessário colocar gasolina no meu carro. Eu poderia escolher empurrar o carro, mas por que eu iria?

Da mesma forma com a escolha de não usar o controle de versão ....


Answer #14

Resposta simples SIM.

Não para reiterar, mas não pode ser dito o suficiente. Você deve ter controle de fonte. O Subversion é ridiculamente fácil e quase zero quando ele é configurado. Literalmente não deve demorar mais de 5 a 20 minutos para configurar. Você tem outras opções também, como o GIT. Então, basta escolher uma e colocar sua fonte ali - no final da resposta. :)


Answer #15

Sim, mas apenas para equipes de desenvolvedores em que o tamanho é> 0

Quando eu desligar meu IDE / editor de texto / o que quer e voltar no dia seguinte para perceber que eu quero desfazer pode erro passado bonehead, controle de origem está lá para eu voltar a usar ou usar para ramificar e realizar algum experimento selvagem no meu código. Sem controle de fonte, não posso fazer essas coisas tão livremente.

Para equipes de tamanho> 1 você tem um backup central, você tem a equipe inteira desfazendo, é mais fácil (possível) trabalhar distribuído, que quando o tamanho da equipe excede 1 é realmente o que você está fazendo de qualquer maneira, não importa quão longe seus companheiros de equipe estejam .


Answer #16

Sim, se você é um desenvolvedor profissional, então você absolutamente precisa estar usando o controle de versão!


Answer #17

Subversion não é. Mas o controle de origem é.


Answer #18

Todo mundo que está dizendo que o controle de origem para desenvolvedores 1-2 é uma obrigação é completamente, completamente certo. Confie em nós :-)

De volta à faculdade, eu tinha um professor que nos fazia usar o controle de origem. Todos nós chutamos e gritamos, porque o CVS parecia muito complicado e soou como um exagero para projetos de estudantes. Eventualmente, todos nós chegamos, e até mesmo para projetos simples a partir de então eu os colocaria todos no controle de origem. Eu continuei isso até hoje e me salvei de muitas horas de frustração.


Answer #19

Você sempre quer sempre ter algum tipo de controle de origem, mesmo que esteja trabalhando em um projeto sozinho.

Ter um histórico de alterações é vital para poder ver o estado de uma base de código a qualquer momento. Há uma variedade de razões para olhar para trás em um histórico de projeto que varia de apenas ser capaz de reverter uma mudança ruim para fornecer suporte a uma versão antiga quando o cliente quer apenas que um patch corrija um bug em vez de atualizar para uma versão mais nova o software.

Não ter algum tipo de controle de fonte é pura insanidade.


Answer #20

tente mercurial (hg) em vez de svn





version-control