Começando com Controle de Versão

votos
70

Eu preciso implementar controle de versão, mesmo que por apenas o desenvolvimento eu faço em casa. Eu li sobre o quão grande Subversion é para os últimos dois anos e estava prestes a me dedicar a aprender esta no lado até que eu ouvi sobre Git sendo o sistema de controle de versão para cima e próximos.

Dada a situação, eu deveria adiar e ver qual delas sai por cima? Quais são as suas vantagens relativas?

Um problema que eu notei com Git é que não há muitos GUIs em destaque completo, que é importante para muitos usuários na minha equipe.

Além disso, não se importaria de sugestões sobre como começar com um ou o outro. (cursos), etc.

Publicado 05/08/2008 em 19:29
fonte usuário
Em outras línguas...                            


34 respostas

votos
80

A coisa mais importante sobre o controle de versão é:

Basta começar a usá-lo

Não usando o controle de versão é uma idéia horrível. Se você não estiver usando o controle de versão, pare de ler agora e começar a usar.

É muito fácil de converter de

cvs<->svn<->git<->hg

Não importa o que você escolher. Basta escolher o mais fácil para você usar e começar a gravar a história do seu código. Você sempre pode migrar para outro (D) VCS mais tarde.

Se você estiver procurando por um fácil de usar GUI olhada TortoiseSVN (Windows) e versões (Mac) (Sugerido por codingwithoutcomments )


Editar:

pix0r disse:

Git tem algumas características interessantes, mas você não será capaz de apreciá-los, a menos que você já tenha usado algo mais padrão como CVS ou Subversion.

Este. Usando git é inútil se você não sabe o controle de versão pode fazer por você.

Edit 2:

Só vi este link en reddit: Folha Subversion fraude . Boa referência rápida para a linha de comando svn.

Respondeu 05/08/2008 em 19:34
fonte usuário

votos
18

Use subversão, é fácil de configurar, fácil de usar, e tem muitas ferramentas. Qualquer sistema de revisão futura terá um recurso de importação de SVN, por isso não é como você não pode mudar a estrada se suas necessidades crescem.

Respondeu 05/08/2008 em 19:31
fonte usuário

votos
16

O livro do Subversion é a sua melhor aposta para a aprendizagem da ferramenta. Pode haver outros tutoriais de início rápido lá fora, mas o livro é a melhor referência única que você vai encontrar.

Git tem algumas características interessantes, mas você não será capaz de apreciá-los, a menos que você já tenha usado algo mais padrão como CVS ou Subversion. Eu definitivamente concordo com os cartazes anteriores e começar com Subversion.

Respondeu 05/08/2008 em 19:36
fonte usuário

votos
13

Se você é novo para VersionControl ler este:
HOWTO de controle de origem

Respondeu 14/08/2008 em 08:42
fonte usuário

votos
10

Ir para o SVN. Se você nunca usou o controle de origem antes, não importa a você uma maneira ou de outra.

Além disso, não há uma grande quantidade de aprendizagem envolvidos na utilização de um sistema de controle de origem. Se você aprender um, você pode facilmente mudar para outro em uma data posterior.

SVN é uma grande ferramenta, e deve cuidar da maioria das suas necessidades. E uma vez que tem sido em torno, ele tem um compartilhador justo de ferramentas GUI (TortoiseSVN, por exemplo).

Ir para o SVN.

Respondeu 05/08/2008 em 19:33
fonte usuário

votos
8

Eu usei RCS, CVS, SCCS, SourceSafe, Vault, forçosamente, subversão e git.

Eu avaliado BitKeeper, Dimensões, arco, bazar, SVK, ClearCase, PVCS, e Synergy.

Se eu tivesse que começar um novo repositório de hoje, eu escolheria git . Mãos para baixo.

É gratuito, rápido e em desenvolvimento ativo.

E você pode usá-lo como um cliente de qualquer repositório Subversion usando git-svn.

Isso arrasa.

Respondeu 14/08/2008 em 07:21
fonte usuário

votos
8

Para uma explicação amigável da maioria dos conceitos básicos, consulte um guia visual para controle de versão . O artigo é muito SVN-friendly.

Respondeu 05/08/2008 em 19:39
fonte usuário

votos
5

De minha própria experiência com ele, eu não recomendaria git como uma introdução ao controle de versão. Eu tenho usado ele por um par de meses agora, e minha impressão é que é muito poderoso e - agora que eu parcialmente tenho a minha cabeça em torno dela - razoavelmente intuitiva. No entanto, a curva de aprendizagem é muito íngreme, embora eu tenho usado controle de versão durante anos. Ele também sofre de ser muito expressivo - ele suporta muitos diferentes fluxos de trabalho e modelos de desenvolvimento, mas a única orientação sobre "o melhor" maneira de usá-lo é algumas páginas de profundidade em uma pesquisa no Google, o que também torna mais difícil para um recém-chegado para buscá acima.

Dito isto, é possível que a partir de uma folha em branco com git pode realmente ser mais fácil - minha experiência VCS é tudo com controle de versão centralizado (CVS, SVN, Perforce ...) e parte da minha dificuldade (em curso!) Com git tem sido compreender as implicações do modelo distribuído. Eu fiz olhar brevemente em outros DVCSes como Bazaar e Mercurial e eles pareciam ser um pouco mais amigável para iniciantes.

De qualquer forma, como já foi dito, o Subversion é provavelmente a maneira mais fácil de se acostumar com a mentalidade de controle de versão e obter experiência prática dos benefícios da VCS (rollback, ramos, desenvolvimento colaborativo, mais fácil de revisão de código, etc).

Ah, e não comece com o CVS. É ainda em uso prático, e tem vantagens, mas IMHO tem muitas peculiaridades históricas e problemas de implementação (commits não atômicos!) Para ser uma boa maneira de aprender.

Respondeu 23/09/2008 em 10:32
fonte usuário

votos
5

@ superjoe30

Que tal usar controle de origem em seu próprio computador, se você é o único programador? É esta boa prática? Há relacionado dicas ou truques?

Acho git é realmente mais fácil para isso, você não precisa de um servidor ou se preocupar em entrar URL do e assim por diante. Seu material de controle de versão apenas vive no .gitdiretório dentro de seu projeto e você ir em frente e usá-lo.

5 segundo de introdução (supondo que você tenha instalado)

cd myproject
git init
git add * # add all the files
git commit

Da próxima vez que você faz algumas mudanças

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

Enquanto você estiver fazendo isso, git tem a sua volta. Se você fracassar, seu código é seguro no repositório git agradável. É incrivel

  • Nota: Você pode achar que as coisas OUT de git um pouco mais difícil do que fazê-los, mas é muito mais preferível ter esse problema do que não ter os arquivos em tudo!
Respondeu 14/08/2008 em 08:00
fonte usuário

votos
4

Também experimentar Visual SVN para o seu servidor se você quer evitar qualquer trabalho de linha de comando.

Respondeu 06/08/2008 em 19:59
fonte usuário

votos
4

No meu trabalho atual, o meu predecessor não usar qualquer tipo de controle de versão. Há apenas montanhas de pastas em pelo menos 3 lugares diferentes onde ele mantinha todos os seus projetos. Qualquer pasta do projeto aleatório pode ser esperado para encontrar pelo menos um nome de pasta "do projeto (OLD)" e um "projeto" chamada

Com controle de versão, você nunca tem que fazer cópias de "seguro" constrói. Você realmente não precisa se preocupar com o seu IDE corrompendo o arquivo que você está trabalhando (estou olhando para você, RealBasic 5,5), porque é tão fácil de cometer (Leia: Guardar) o seu trabalho todos os dias.

Escusado será dizer, eu instalei o controle de versão o dia depois que eu descobri que existia.

Além disso, o TortoiseSVN faz cometer ao banco de dados tão fácil como botão direito do mouse uma pasta.

Respondeu 05/08/2008 em 20:18
fonte usuário

votos
4

Meu voto vai para Subversion. É muito poderoso, mas fácil de usar, e tem algumas grandes ferramentas como o TortoiseSVN .

Mas como já foi dito antes de mim, basta começar a usá-lo. controle de origem é uma parte tão importante do processo de desenvolvimento de software. No "séria" projeto de software deve ser sem ele.

Respondeu 05/08/2008 em 19:39
fonte usuário

votos
3

Git é superior à subversão, mas é um pouco fora na borda do sangramento.

Eu diria que, se você está apenas começando, saltar sobre a borda; configurar uma conta gratuita @ http://github.com

Eles têm material educativo no local para configurar e usar git.

Respondeu 22/08/2008 em 19:38
fonte usuário

votos
3

Se você estiver em Mac OSX, eu achei http://www.versionsapp.com/">Versions ser uma incrível (livre) GUI front-end para SVN.

Respondeu 05/08/2008 em 20:01
fonte usuário

votos
2

Não espere. Escolha um, e ir com ele. Todos os sistemas terão seus prós e contras. Seu poder poderia sair, o computador for roubado, ou você se esqueça de desfazer uma mudança importante e todo o seu código fica frito enquanto você está esperando para ver quem sai vitorioso.

Respondeu 05/08/2008 em 19:35
fonte usuário

votos
1

Se você optar por ir com subversão e você quer hospedar seu próprio servidor SVN, então não há um servidor baseado muito agradável e fácil janelas chamado servidor VisualSVN. Ela esconde a complexidade da criação de um servidor apache, você basicamente só ir na próxima próxima próxima. configuração do usuário é tratado com um webUI, em vez de uma configuração

http://www.visualsvn.com/server/

usando um público servem pé de feijão RLIKE é provavelmente mais fácil, mas algumas pessoas gostam de ter seus próprios repositórios, tanto para a velocidade ou segurança

Respondeu 23/09/2008 em 09:46
fonte usuário

votos
1

Subversion é a melhor escolha para você, como Karl Seguin apontou Transferência para outra sistema de versões não seria um problema. Também SVN tem muito brincadeira Fácil de usar GUIs no lado do cliente (TortoiseSVN).

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion

Respondeu 23/09/2008 em 07:50
fonte usuário

votos
1

Use TortoiseSVN (version.app se no Mac). Basta instalar e ir embora. Se você precisa de um lugar para hospedar seu olhar código na http://beanstalkapp.com/

Respondeu 22/08/2008 em 19:42
fonte usuário

votos
1

Não é tão difícil para alternar entre sistemas de controle de versão. Como já foi mencionado, o importante é começar a usar qualquer coisa o mais rápido possível. Os benefícios da utilização de controlo de origem não sobre usando o controlo de origem vastamente superiores aos benefícios diferenciais entre diferentes tipos de controlo de origem.

Lembre-se que não importa qual versão do controle da fonte que você está usando você sempre será capaz de fazer uma conversão de força bruta para outro sistema, que estabelece os arquivos de seu sistema antigo para o disco e, em seguida, importar esses arquivos brutos para o novo sistema.

Além disso, estar familiarizado com os fundamentos de controle de origem é uma habilidade muito, muito importante para ter como um desenvolvedor de software.

Respondeu 06/08/2008 em 00:20
fonte usuário

votos
0

Uma razão importante para usar svn ao invés de cvs é svn suporta diffs binários. Isso pode não importa para muitos programadores, mas se você está fazendo uma série de pequenas alterações em uma imagem de 10Mb, ter uma cópia única a cada vez em seu repositório pode mastigar espaço com uma rapidez impressionante.

Eu uso o TortoiseSVN no Windows, mas no Mac ter ido para o comercial CornerStone cliente sobre o cliente (agora comerciais) Versões. Eu encontrei a gama de clientes Mac gratuitos, incluindo RapidSVN, teve bastante dor aponta para bug me em gastar dinheiro com dólares reais. A rede de segurança que CornerStone fornece para a captura de arquivos I esqueceu de adicionar ao repositório vale a pena os dólares para mim. Eu passo muito tempo colaborando com um cliente norte-americano que está em um fuso horário oposto assim não podem pagar screwups esquecer de adicionar arquivos!

Respondeu 12/01/2009 em 13:56
fonte usuário

votos
0

Comecei a usar a subversão depois de ler Wil Shipleys blog.

Então eu comecei o check-in de código, uma conta máquina e dreamhost. Em seguida, depois que eu acidentalmente apagou uma função e salvou o meu projeto que eu sabia que estava em "dudu" profunda, mas com a subversão Acabei de verificar a versão mais recente do arquivo e foi como se nada tivesse acontecido.

Eu uso o controle de versão para tudo agora. Estou pensando em passar para git porque é mais rápido, funciona off-line, ocupa menos espaço e oh boy é mais rápido.

Respondeu 02/09/2008 em 10:35
fonte usuário

votos
0

Uma dica importante para facilitar a configuração de um servidor SVN agora é usar um Appliance Virtual. Ou seja, uma máquina virtual que tem subversão pré-instalado e (principalmente) pré-configurado nele - praticamente uma coisa plug & play. Você pode tentar aqui , aqui e aqui , ou apenas tentar pesquisar no Google sobre "appliance virtual subversão".

Respondeu 30/08/2008 em 17:30
fonte usuário

votos
0

Coding Horror tem um ótimo post sobre como configurar o Subversion no Windows .

Após o tutorial, eu era capaz de conseguir Subervsion e TortoiseSVN executado localmente, e eu tenho a educação que eu precisava sair dela.

Tanto quanto Git vai, é provavelmente uma boa idéia para fazer as mãos na experiência com os dois, para entender o que se adapta à sua prática de desenvolvimento específico.

Respondeu 25/08/2008 em 15:52
fonte usuário

votos
0

Da experiência pessoal, svn seria a minha recomendação. Você ainda pode usar um serviço como o Beanstalk , que oferece contas gratuitas (com limites, obviamente, mas suficiente para qualquer projeto pequeno) para testar as águas. Mas, como já foi dito, git é superior e é provável que vale a pena.

Respondeu 22/08/2008 em 19:42
fonte usuário

votos
0

Como mencionado muitas vezes em outros lugares, Just Do It. Eu era capaz de começar do zero com o Subversion no Windows, em nenhum momento, lendo o guia de iniciação rápida no Livro Vermelho. Uma vez eu apontei TortoiseSVN no repositório, eu estava no negócio. Levei um tempo para chegar a mais fina aponta para baixo, mas eram humps menores de superar.

Eu sugiro a instalação do Serviço de Subversion em vez de usar URLs file: //, mas isso é preferência na sua maioria pessoal. Para um repositório armazenados na máquina de desenvolvimento, file: // funciona bem.

Respondeu 22/08/2008 em 19:30
fonte usuário

votos
0

Basta usar TortoiseSVN, e você pode viver mesmo sem saber comandos reais do Subversion ... Mas isso é ruim. Felizmente, há sempre vai ser uma “grande oportunidade” para aprendê-las de cor - quando seu repositório inestimável primeiro fica corrompido.

Sim, isso acontece.

Respondeu 18/08/2008 em 15:47
fonte usuário

votos
0

@ Superjoe30 Sim, absoluteley. Uma vez que você começar a usar o controle de versão você nunca voltar. Eu uso ele para tudo, até minha pasta "home".

não @Orion Edwards Subversion não requer um servidor. Você pode acessar um repositório local directamente (através de um cliente, é claro), e não há nenhum processo servidor envolvido.

Respondeu 18/08/2008 em 09:17
fonte usuário

votos
0

Eu definitivamente escolher SVN sobre CVS, mesmo porque as pessoas que aprenderam controle de origem usando CVS, tendem a usar " svn delete" e depois " svn add" em vez de " svn move". O que torna mais difícil de encontrar todas as revisões anteriores de um arquivo específico. E você sempre pode atualizar para usar git-svn. Eu, pessoalmente, acho que é mais fácil de aprender do que hg, mas realmente a principal razão para usar o SVN é em grande parte tornar-se o sistema de controle de versão de-facto de Software Open Source.

Se você tiver algum plano na aprendizagem / usando D é quase obrigatório para acessar os repositórios de terceiros, como dsource .

Respondeu 17/08/2008 em 02:25
fonte usuário

votos
0

Se em uma caixa de janelas um slution rápida e suja é CVSNT. Fácil de usar apenas configurá-lo e funciona muito bem.

Eu prefiro SVN, mas esta é uma boa para uso rápido.

Respondeu 07/08/2008 em 18:33
fonte usuário

votos
0

superjoe30 escreve :

questão relacionada (talvez respostas podem ser editadas para responder a esta pergunta também):

Que tal usar controle de origem em seu próprio computador, se você é o único programador? É >> esta boa prática? Há relacionado dicas ou truques?

Eu uso SVN para todos os meus projetos pessoais. Comecei com um comando svn na minha máquina em casa, mas, eventualmente, migrado para Dreamhost. Seus pacotes de hospedagem que incluem Subversion são bastante razoável.

Respondeu 05/08/2008 em 19:41
fonte usuário

votos
0

Yup, SVN de preferência a menos que você realmente precisa de características particulares do git. SVN é bastante difícil; Parece que git é mais complicado de se conviver. Você pode se hospedado svn de pessoas como Beanstalk - a menos que você tem em casa as pessoas Linux, eu realmente recomendo. As coisas podem dar errado terrivelmente facilmente e é bom ter alguém cujo trabalho é para corrigi-lo.

Há um excelente tutorial sobre controle de revisão de Eric Sink, que vale a pena ler, não importa qual sistema que você usa.

Respondeu 05/08/2008 em 19:40
fonte usuário

votos
0

Comece a usar o SVN para o seu trabalho real, mas tentar fazer o tempo para brincar com Git e / ou Mercurial. SVN é razoavelmente estável para a produção, mas eventualmente você vai enfrentar um cenário em que você vai precisar de um SCM distribuídos, época em que você vai ser devidamente armados e os novos sistemas vão ser maduro o suficiente.

Respondeu 05/08/2008 em 19:38
fonte usuário

votos
0

Quando eu decidi que deve usar um sistema de controle de versão de código, olhei em volta para qualquer bons tutoriais sobre como começar, mas não havia nenhuma que pudesse me ajudar.

Então eu simplely instalado o servidor SVN e Tortoise SVN para o cliente e mergulhou na deepend e eu learn't como usá-lo ao longo do caminho.

Respondeu 05/08/2008 em 19:36
fonte usuário

votos
-1

Resposta curta: Subversion se você é o único codificá-lo ou você está no local com todos com quem trabalha. GIT se você está trabalhando com pessoas em diferentes locais e sua base de código é enorme.

Subversion é muito, muito fácil de configurar e começar a usar. Também é bom porque você pode fazer coisas relativamente complicadas com ele também, como ligá-lo a Apache e usar SSL ou ligá-lo em Trac para gerenciamento de projetos. Há tantas ferramentas disponíveis para Subversion que é realmente uma boa escolha.

GIT é muito mais útil para pessoas que estão em grandes equipes que trabalham em um ambiente distribuído. Linus T. desenvolveu para a equipe Linux porque ele estava insatisfeito com as capacidades de repositórios tradicionais. Vale a pena aprender se você pensa em estar trabalhando com os povos em projetos de código aberto.

Respondeu 25/08/2008 em 15:46
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more