Git não é melhor que Subversion. Mas também não é pior. É diferente.
A principal diferença é que ele é descentralizado. Imagine que você é um desenvolvedor em trânsito, desenvolve no seu laptop e deseja ter controle de origem para poder voltar por 3 horas.
Com o Subversion, você tem um Problema: O Repositório SVN pode estar em um local que você não pode alcançar (na sua empresa, e você não tem Internet no momento), não pode confirmar. Se você deseja fazer uma cópia do seu código, você deve literalmente copiar / colar.
Com o Git, você não tem esse problema. Sua cópia local é um repositório, e você pode se comprometer com ela e obter todos os benefícios do controle de origem. Ao recuperar a conectividade com o repositório principal, você pode se comprometer com ele.
Isso parece bom no começo, mas lembre-se da complexidade adicional dessa abordagem.
Git parece ser a coisa "nova, brilhante, legal". Não é nada ruim (afinal, existe uma razão pela qual Linus o escreveu para o desenvolvimento do Linux Kernel), mas sinto que muitas pessoas pulam no trem "Distributed Source Control" apenas porque é novo e foi escrito por Linus Torvalds, sem realmente saber porque / se é melhor.
O Subversion tem problemas, mas o Git, Mercurial, CVS, TFS ou o que quer.
Edit: Então, esta resposta agora tem um ano e ainda gera muitos votos, então pensei em adicionar mais algumas explicações. No ano passado, desde que escrevemos isso, o Git ganhou muito ímpeto e suporte, principalmente desde que sites como o GitHub realmente decolaram. Atualmente, estou usando o Git e o Subversion e gostaria de compartilhar algumas informações pessoais.
Primeiro de tudo, o Git pode ser realmente confuso a princípio quando se trabalha descentralizado. O que é um controle remoto? e Como configurar corretamente o repositório inicial? Existem duas perguntas que surgem no início, especialmente quando comparadas com o simples "svnadmin create" do SVN, o "git init" do Git pode usar os parâmetros --bare e --shared, que parecem ser a maneira "adequada" de configurar uma centralizada repositório. Existem razões para isso, mas adiciona complexidade. A documentação do comando "checkout" é muito confusa para as pessoas que estão mudando - a maneira "correta" parece ser "git clone", enquanto "git checkout" parece mudar de ramificação.
Git REALMENTE brilha quando você é descentralizado. Eu tenho um servidor em casa e um laptop na estrada, e o SVN simplesmente não funciona bem aqui. Com o SVN, não posso ter controle de fonte local se não estiver conectado ao repositório (Sim, eu sei sobre o SVK ou sobre maneiras de copiar o repositório). Com o Git, esse é o modo padrão de qualquer maneira. Porém, é um comando extra (o git commit confirma localmente, enquanto o git push origin master envia a ramificação master para o controle remoto chamado "origin").
Como dito acima: Git adiciona complexidade. Dois modos de criação de repositórios: checkout x clone, commit x push ... Você precisa saber quais comandos funcionam localmente e quais funcionam com "o servidor" (presumo que a maioria das pessoas ainda goste de um "repositório principal" central )
Além disso, as ferramentas ainda são insuficientes, pelo menos no Windows. Sim, existe um suplemento do Visual Studio, mas ainda uso o git bash com o msysgit.
O SVN tem a vantagem de ser MUITO mais simples de aprender: existe o seu repositório, todas as alterações em relação a ele, se você sabe como criar, confirmar e finalizar a compra e está pronto para começar e pode pegar coisas como ramificação, atualização etc. em.
O Git tem a vantagem de ser MUITO melhor se alguns desenvolvedores nem sempre estiverem conectados ao repositório principal. Além disso, é muito mais rápido que o SVN. Pelo que ouvi, ramificar e mesclar o suporte é muito melhor (o que é esperado, pois esses são os principais motivos pelos quais ele foi escrito).
Isso também explica por que ganha tanto burburinho na Internet, pois o Git é perfeitamente adequado para projetos de código aberto: Just Fork, comprometa suas alterações no seu próprio Fork e peça ao mantenedor do projeto original para fazer suas alterações. Com o Git, isso simplesmente funciona. Realmente, tente no Github, é mágico.
O que eu também vejo são as pontes Git-SVN: O repositório central é um repositório do Subversion, mas os desenvolvedores trabalham localmente com o Git e a ponte envia suas alterações ao SVN.
Mas, mesmo com essa longa adição, ainda mantenho minha mensagem principal: o Git não é melhor ou pior, é apenas diferente. Se você precisa do "Controle de fonte offline" e está disposto a gastar um tempo extra aprendendo, é fantástico. Mas se você tem um controle de fonte estritamente centralizado e / ou está lutando para introduzir o controle de origem em primeiro lugar porque seus colegas de trabalho não estão interessados, a simplicidade e as excelentes ferramentas (pelo menos no Windows) do SVN brilham.
Com o Git, você pode fazer praticamente qualquer coisa offline, porque todo mundo tem seu próprio repositório.
Fazer filiais e mesclar filiais é realmente fácil.
Mesmo se você não tiver direitos de confirmação para um projeto, ainda poderá ter seu próprio repositório online e publicar "solicitações push" para seus patches. Qualquer pessoa que goste dos seus patches pode inseri-los em seu projeto, incluindo os mantenedores oficiais.
É trivial bifurcar um projeto, modificá-lo e ainda continuar se mesclando nas correções de erros do ramo HEAD.
O Git funciona para os desenvolvedores do kernel do Linux. Isso significa que é realmente rápido (tem que ser) e é escalável para milhares de colaboradores. O Git também usa menos espaço (até 30 vezes menos espaço para o repositório Mozilla).
O Git é muito flexível, muito TIMTOWTDI (existe mais de uma maneira de fazer isso). Você pode usar o fluxo de trabalho que desejar e o Git o apoiará.
Por fim, existe o GitHub , um ótimo site para hospedar seus repositórios Git.
Desvantagens do Git:
fonte
Outras respostas fizeram um bom trabalho ao explicar os principais recursos do Git (que são ótimos). Mas há também muitas pequenas maneiras que Git se comporta melhor e ajuda a manter minha vida mais sã. Aqui estão algumas das pequenas coisas:
fonte
git mv
egit rm
." Por que o Git é melhor que o X " descreve os vários prós e contras do Git versus outros SCMs.
Resumidamente:
Existem algumas desvantagens:
Checkouts / clones parciais de repositórios não são possíveis no momento (eu li que ele está em desenvolvimento). No entanto, há suporte ao submódulo.O Git 1.7+ suporta checkouts esparsos .No uso mais simplista, Subversion e Git são praticamente os mesmos. Não há muita diferença entre:
e
Onde o Git realmente brilha é ramificar e trabalhar com outras pessoas.
fonte
Google Tech Talk: Linus Torvalds no git
http://www.youtube.com/watch?v=4XpnKHJAok8
A página de comparação do Git Wiki
http://git.or.cz/gitwiki/GitSvnComparsion
fonte
Bem, é distribuído. Os benchmarks indicam que é consideravelmente mais rápido (dada a sua natureza distribuída, operações como diffs e logs são todos locais, então é claro que é incrivelmente mais rápido nesse caso) e as pastas de trabalho são menores (o que ainda me impressiona).
Quando você está trabalhando no subversion, ou em qualquer outro sistema de controle de revisão de cliente / servidor, você essencialmente cria cópias de trabalho em sua máquina, verificando as revisões. Isso representa uma captura instantânea da aparência do repositório. Você atualiza sua cópia de trabalho por meio de atualizações e o repositório por confirmações.
Com um controle de versão distribuído, você não tem um instantâneo, mas toda a base de código. Quer fazer uma diff com uma versão antiga de 3 meses? Não tem problema, a versão de 3 meses ainda está no seu computador. Isso não significa apenas que as coisas são muito mais rápidas, mas se você estiver desconectado do servidor central, ainda poderá executar muitas das operações com as quais está acostumado. Em outras palavras, você não apenas tem um instantâneo de uma determinada revisão, mas toda a base de código.
Você pensaria que o Git ocuparia muito espaço no seu disco rígido, mas a partir de alguns benchmarks que eu vi, na verdade, leva menos. Não me pergunte como. Quero dizer, foi construído por Linus, ele sabe uma coisa ou duas sobre sistemas de arquivos, eu acho.
fonte
Os principais pontos que eu gosto sobre o DVCS são:
A principal razão para um projeto relativamente grande é a comunicação aprimorada criada pelo ponto 3. Outros são bons bônus.
fonte
O engraçado é que eu hospedo projetos no Subversion Repos, mas os acesso através do comando Git Clone.
Leia Desenvolver com Git em um projeto de código do Google
Usar o Git em um repositório Svn me oferece benefícios:
backup/public
para outras pessoas verificaremfonte
Todas as respostas aqui são as esperadas, centradas no programador. No entanto, o que acontece se a sua empresa usa o controle de revisão fora do código-fonte? Existem muitos documentos que não são código-fonte que se beneficiam do controle de versão e devem estar próximos ao código e não em outro CMS. A maioria dos programadores não trabalha isoladamente - trabalhamos para empresas como parte de uma equipe.
Com isso em mente, compare a facilidade de uso, nas ferramentas e no treinamento do cliente, entre o Subversion e o git. Não vejo um cenário em que qualquer sistema de controle de revisão distribuído seja mais fácil de usar ou explicar a um não programador. Eu adoraria provar que estou errado, porque então eu seria capaz de avaliar o git e realmente ter a esperança de que ele seja aceito por pessoas que precisam de controle de versão que não são programadores.
Mesmo assim, se perguntado pela gerência por que deveríamos mudar de um sistema de controle de revisão centralizado para distribuído, seria difícil dar uma resposta honesta, porque não precisamos dela.
Isenção de responsabilidade: Fiquei interessado no Subversion desde o início (por volta da v0.29), então obviamente sou tendencioso, mas as empresas nas quais trabalhei desde então estão se beneficiando do meu entusiasmo, porque incentivei e apoiei seu uso. Eu suspeito que é assim que acontece com a maioria das empresas de software. Com tantos programadores pulando na onda do git, imagino quantas empresas perderão os benefícios de usar o controle de versão fora do código-fonte? Mesmo que você tenha sistemas separados para equipes diferentes, está perdendo alguns dos benefícios, como a integração de rastreamento de problemas (unificada), enquanto aumenta os requisitos de manutenção, hardware e treinamento.
fonte
O Subversion ainda é um sistema de controle de versão muito mais usado, o que significa que ele possui melhor suporte a ferramentas. Você encontrará plug-ins SVN maduros para quase qualquer IDE , e existem boas extensões do explorer disponíveis (como o TurtoiseSVN). Fora isso, terei que concordar com Michael : o Git não é melhor ou pior que o Subversion, é diferente.
fonte
Uma das coisas sobre o SubVersion que me irrita é que ele coloca sua própria pasta em cada diretório de um projeto, enquanto o git coloca apenas uma no diretório raiz. Não é que de um grande negócio, mas pequenas coisas como que se somam.
Obviamente, o SubVersion possui o Tortoise, o que geralmente é muito bom.
fonte
David Richards Blog da WANdisco sobre Subversion / GIT
fonte
O Git também facilita muito a ramificação e a fusão. O Subversion 1.5 acabou de adicionar o rastreamento de mesclagem, mas o Git ainda é melhor. Com o Git, a ramificação é muito rápida e barata. Isso torna a criação de uma ramificação para cada novo recurso mais viável. Os repositórios Oh e Git são muito eficientes com espaço de armazenamento em comparação com o Subversion.
fonte
É tudo sobre a facilidade de uso / etapas necessárias para fazer alguma coisa.
Se estou desenvolvendo um único projeto no meu PC / laptop, o git é melhor, porque é muito mais fácil de configurar e usar. Você não precisa de um servidor e não precisa continuar digitando os URLs do repositório quando faz a mesclagem.
Se fossem apenas 2 pessoas, eu diria que o git também é mais fácil, porque você pode simplesmente empurrar e puxar um do outro.
Uma vez que você supera isso, eu iria para o subversion, porque nesse momento você precisa configurar um servidor ou local 'dedicado'.
Você pode fazer isso tão bem com o git quanto com o SVN, mas os benefícios do git são superados pela necessidade de executar etapas adicionais para sincronizar com um servidor central. No SVN você apenas confirma. No git, você precisa git commit e git push. A etapa adicional fica irritante simplesmente porque você acaba fazendo isso demais.
O SVN também tem o benefício de melhores ferramentas da GUI, no entanto, o ecossistema git parece estar se recuperando rapidamente, então eu não me preocuparia com isso a longo prazo.
fonte
O Easy Git tem uma boa página comparando o uso real do Git e do SVN, o que lhe dará uma idéia do que o Git pode fazer (ou fazer mais facilmente) em comparação com o SVN. (Tecnicamente, isso se baseia no Easy Git, que é um invólucro leve sobre o Git.)
fonte
O Git e o DVCS em geral são ótimos para desenvolvedores que codificam bastante independentemente um do outro, porque todos têm sua própria ramificação. No entanto, se você precisar de uma alteração de outra pessoa, ela deverá se comprometer com o repo local e, em seguida, deverá enviar esse conjunto de alterações para você ou você deverá retirá-lo.
Meu próprio raciocínio também me faz pensar que o DVCS torna as coisas mais difíceis para o controle de qualidade e o gerenciamento de versões se você fizer coisas como versões centralizadas. Alguém tem que ser responsável por fazer esse push / pull do repositório de todos os outros, resolvendo quaisquer conflitos que teriam sido resolvidos no momento da consolidação inicial antes, depois fazendo a compilação e fazendo com que todos os outros desenvolvedores sincronizem novamente seus repositórios.
Tudo isso pode ser tratado com processos humanos, é claro; O DVCS acabou de quebrar algo que foi corrigido pelo controle de versão centralizado para fornecer algumas novas conveniências.
fonte
Eu gosto do Git porque ele realmente ajuda o desenvolvedor de comunicação para desenvolvedor em uma equipe de médio a grande porte. Como um sistema de controle de versão distribuído, por meio de seu sistema push / pull, ajuda os desenvolvedores a criar um ecossistema de código-fonte que ajuda a gerenciar um grande conjunto de desenvolvedores trabalhando em um único projeto.
Por exemplo, digamos que você confia em 5 desenvolvedores e apenas extrai códigos de seu repositório. Cada um desses desenvolvedores tem sua própria rede de confiança de onde eles extraem códigos. Assim, o desenvolvimento é baseado nessa estrutura de confiança dos desenvolvedores, onde a responsabilidade do código é compartilhada entre a comunidade de desenvolvimento.
Obviamente, existem outros benefícios mencionados em outras respostas aqui.
fonte
Algumas respostas aludiram a elas, mas quero deixar explícito 2 pontos:
1) A capacidade de realizar confirmações seletivas (por exemplo
git add --patch
). Se o seu diretório de trabalho contiver várias alterações que não fazem parte da mesma alteração lógica, o Git facilita muito a confirmação, que inclui apenas uma parte das alterações. Com o Subversion, é difícil.2) A capacidade de se comprometer sem tornar a mudança pública. No Subversion, qualquer commit é imediatamente público e, portanto, irrevogável. Isso limita bastante a capacidade do desenvolvedor de "confirmar cedo, confirmar frequentemente".
Git é mais do que apenas um VCS; também é uma ferramenta para o desenvolvimento de patches. Subversion é apenas um VCS.
fonte
Eu acho que o Subversion está bem .. até você começar a mesclar .. ou fazer qualquer coisa complicada .. ou fazer qualquer coisa que o Subversion considere complicado (como fazer consultas para descobrir quais ramificações mexeram com um arquivo específico, de onde realmente vem uma mudança , detectar cópias e pastas etc) ...
Discordo da resposta vencedora, afirmando que o principal benefício do GIT é o trabalho offline - certamente é útil, mas é mais um extra para o meu caso de uso. O SVK também pode trabalhar off-line, mas ainda não há dúvida em qual investir meu tempo de aprendizado).
Só que é incrivelmente poderoso, rápido e, depois de se acostumar com os conceitos - muito útil (sim, nesse sentido: amigável).
Para mais detalhes sobre uma história mesclada, veja o seguinte: Usando git-svn (ou similar) * just * para ajudar com uma fusão svn?
fonte
Graças ao fato de ele não precisar se comunicar constantemente com um servidor central, praticamente todos os comandos são executados em menos de um segundo (obviamente o git push / pull / fetch é mais lento, simplesmente porque é necessário inicializar as conexões SSH). Ramificar é muito mais fácil (um comando simples para ramificar, um comando simples para mesclar)
fonte
Eu absolutamente amo poder gerenciar ramificações locais do meu código-fonte no Git sem atrapalhar a água do repositório central. Em muitos casos, consultarei o código do servidor Subversion e executarei um repositório Git local apenas para poder fazer isso. Também é ótimo que a inicialização de um repositório Git não polua o sistema de arquivos com várias pastas .svn irritantes em todos os lugares.
E no que diz respeito ao suporte à ferramenta Windows, o TortoiseGit lida muito bem com o básico, mas ainda prefiro a linha de comando, a menos que queira visualizar o log. Eu realmente gosto da maneira como o Tortoise {Git | SVN} ajuda ao ler logs de confirmação.
fonte
Esta é a pergunta errada a ser feita. É muito fácil se concentrar nas verrugas do git e formular um argumento sobre por que a subversão é ostensivamente melhor, pelo menos em alguns casos de uso. O fato de o git ter sido originalmente projetado como um conjunto de construção de controle de versão de baixo nível e ter uma interface barroca orientada ao desenvolvedor do linux torna mais fácil para as guerras sagradas ganhar tração e legitimidade percebida. Os proponentes do Git tocam o tambor com milhões de vantagens no fluxo de trabalho, que os caras do svn consideram desnecessários. Logo, todo o debate será enquadrado como centralizado versus distribuído, o que atende aos interesses da comunidade svn tool community. Essas empresas, que normalmente publicam os artigos mais convincentes sobre a superioridade do subversion na empresa,
Mas aqui está o problema: o Subversion é um beco sem saída da arquitetura .
Considerando que você pode pegar o git e criar uma substituição centralizada do subversion com bastante facilidade, apesar de estar por mais do que o dobro do tempo, o svn nunca foi capaz de fazer o rastreamento básico de mesclagem funcionar tão perto quanto no git. Uma razão básica para isso é a decisão de design de tornar as ramificações iguais aos diretórios. Não sei por que eles seguiram esse caminho originalmente, isso certamente torna as caixas parciais muito simples. Infelizmente, isso também torna impossível rastrear o histórico corretamente. Agora, obviamente, você deve usar as convenções de layout do repositório do subversion para separar as ramificações dos diretórios regulares, e o svn usa algumas heurísticas para fazer as coisas funcionarem nos casos de uso diários. Mas tudo isso está apenas encobrindo uma decisão de projeto de baixo nível muito pobre e limitadora. Ser capaz de fazer um diff em repositório (em vez de em diretório) é uma funcionalidade básica e crítica para um sistema de controle de versão e simplifica bastante os internos, possibilitando a criação de recursos mais inteligentes e úteis sobre ele. Você pode ver na quantidade de esforço que foi colocado em estender a subversão e, no entanto, a que distância está da atual safra de VCS modernos em termos de operações fundamentais, como resolução de mesclagem.
Agora, aqui está o meu conselho sincero e agnóstico para quem ainda acredita que o Subversion é bom o suficiente para o futuro próximo:
O Subversion nunca alcançará as novas raças de VCS que aprenderam com os erros do RCS e CVS; é uma impossibilidade técnica, a menos que eles reformulem o modelo de repositório desde o início, mas não seria realmente svn, seria? Independentemente de quanto você acha que não possui as capacidades de um VCS moderno, sua ignorância não o protegerá das armadilhas do Subversion, muitas das quais são situações impossíveis ou facilmente resolvidas em outros sistemas.
É extremamente raro que a inferioridade técnica de uma solução seja tão clara como é com svn, certamente eu nunca exporia uma opinião sobre win-vs-linux ou emacs-vs-vi, mas, neste caso, é tão clearcut, e controle de fonte é uma ferramenta tão fundamental no arsenal do desenvolvedor, que eu sinto que deve ser declarado inequivocamente. Independentemente do requisito de usar o svn por motivos organizacionais, imploro a todos os usuários do svn que não deixem sua mente lógica construir uma falsa crença de que VCSes mais modernos são úteis apenas para grandes projetos de código aberto. Independentemente da natureza do seu trabalho de desenvolvimento, se você é um programador, será um programador mais eficaz se aprender a usar VCSes mais bem projetados, seja Git, Mercurial, Darcs ou muitos outros.
fonte
O Subversion é muito fácil de usar. Eu nunca encontrei nos últimos anos um problema ou que algo não funcione conforme o esperado. Além disso, existem muitas ferramentas excelentes da GUI e o suporte à integração SVN é grande.
Com o Git, você obtém um VCS mais flexível. Você pode usá-lo da mesma maneira que o SVN com um repositório remoto em que você confirma todas as alterações. Mas você também pode usá-lo principalmente offline e enviar apenas as alterações periodicamente para o repositório remoto. Mas o Git é mais complexo e tem uma curva de aprendizado mais acentuada. Encontrei-me pela primeira vez cometendo ramificações erradas, criando ramificações indiretamente ou recebendo mensagens de erro com poucas informações sobre o erro e onde devo pesquisar no Google para obter melhores informações. Algumas coisas fáceis, como a substituição de marcadores ($ Id $), não funcionam, mas o GIT possui um mecanismo de filtragem e gancho muito flexível para mesclar scripts próprios e, assim, você obtém tudo o que precisa e mais, mas precisa de mais tempo e leitura da documentação ;)
Se você trabalha principalmente offline com seu repositório local, não possui backup se algo se perder na sua máquina local. Com o SVN, você trabalha principalmente com um repositório remoto, que também é ao mesmo tempo que seu backup em outro servidor ... O Git pode funcionar da mesma maneira, mas esse não era o objetivo principal do Linus de ter algo como o SVN2. Ele foi projetado para os desenvolvedores do kernel Linux e as necessidades de um sistema de controle de versão distribuído.
Git é melhor que SVN? Os desenvolvedores que precisam apenas de algum histórico de versão e um mecanismo de backup têm uma vida boa e fácil com o SVN. Os desenvolvedores que trabalham frequentemente com ramificações, testam mais versões ao mesmo tempo ou trabalham principalmente off-line podem se beneficiar dos recursos do Git. Existem alguns recursos muito úteis, como esconderijo não encontrado no SVN, que podem facilitar a vida. Mas, por outro lado, nem todas as pessoas precisarão de todos os recursos. Então, eu não consigo ver os mortos do SVN.
O Git precisa de uma documentação melhor e o relatório de erros deve ser mais útil. Além disso, as GUIs úteis existentes são raras. Desta vez, encontrei apenas 1 GUI para Linux com suporte para a maioria dos recursos do Git (git-cola). A integração do Eclipse está funcionando, mas não é liberada oficialmente e não há site de atualização oficial (apenas alguns sites de atualização externos com construções periódicas a partir do tronco http://www.jgit.org/updates ) Portanto, a maneira mais preferida de usar o Git atualmente é a linha de comando.
fonte
Eric Sink, da SourceGear, escreveu uma série de artigos sobre diferenças entre sistemas de controle de versão distribuídos e não distribuídos. Ele compara prós e contras dos sistemas de controle de versão mais populares. Leitura muito interessante.
Os artigos podem ser encontrados em seu blog, www.ericsink.com :
Leia os Diffs
Git é o C das Ferramentas de Controle de Versão
Sobre a falta de respeito do Git pela imutabilidade e as melhores práticas para um DVCS
DVCS e DAGs, Parte 1
DVCS e DAGs, Parte 2
DVCS e rastreamento de erros
Mesclar histórico, DAGs e Darcs
Por que o Git é tão rápido?
Mercurial, Subversion e Wesley Snipes
fonte
Para quem procura uma boa interface gráfica do Git, o Syntevo SmartGit pode ser uma boa solução. Seu proprietário, mas gratuito para uso não comercial, roda em Windows / Mac / Linux e até suporta SVN usando algum tipo de ponte git-svn, eu acho.
fonte
http://subversion.wandisco.com/component/content/article/1/40.html
Eu acho que é bastante seguro dizer que, entre os desenvolvedores, o SVN vs. O argumento Git já existe há algum tempo, com todos tendo sua própria opinião sobre o que é melhor. Isso foi abordado nas perguntas durante o nosso Webinar sobre Subversion em 2010 e além.
Hyrum Wright, nosso diretor de código aberto e presidente da Subversion Corporation fala sobre as diferenças entre o Subversion e o Git, juntamente com outros sistemas de controle de versão distribuídos (DVCS).
Ele também fala sobre as próximas mudanças no Subversion, como a Working Copy Next Generation (WC-NG), que ele acredita que fará com que vários usuários do Git se convertam novamente no Subversion.
Assista ao vídeo dele e deixe-nos saber o que você pensa comentando neste blog ou postando em nossos fóruns. O registro é simples e leva apenas um momento!
fonte
O Git no Windows é muito bem suportado agora.
Confira GitExtensions = http://code.google.com/p/gitextensions/
e o manual para uma melhor experiência com o Windows Git.
fonte
Ultimamente, tenho residido na terra do Git, e gosto de projetos pessoais, mas ainda não seria capaz de mudar os projetos de trabalho do Subversion, dada a mudança no pensamento de exigido da equipe, sem benefícios prementes. Além disso, o maior projeto que executamos internamente é extremamente dependente do svn: externals que, pelo que vi até agora, não funciona tão bem e perfeitamente no Git.
fonte
Primeiro, o controle de versão simultâneo parece ser um problema fácil de resolver. Não é de todo. De qualquer forma...
SVN é bastante intuitivo. Git é ainda pior. [especulação sarcástica] Isso pode ocorrer porque os desenvolvedores, que gostam de problemas difíceis como o controle de versão simultâneo, não têm muito interesse em criar uma boa interface do usuário. [/ especulação sarcástica]
Os apoiadores do SVN acham que não precisam de um sistema de controle de versão distribuído. Eu também pensei nisso. Mas agora que usamos exclusivamente o Git, eu acredito. Agora o controle de versão funciona para mim e para a equipe / projeto, em vez de apenas trabalhar para o projeto. Quando eu preciso de uma ramificação, eu ramifico. Às vezes, é uma ramificação que possui uma ramificação correspondente no servidor e, às vezes, não. Sem mencionar todas as outras vantagens que terei que estudar (graças em parte à arcana e absurda falta de interface do usuário que é um sistema de controle de versão moderno).
fonte
Por que eu acho que o Subversion é melhor que o Git (pelo menos para os projetos em que trabalho), principalmente devido à sua usabilidade e fluxo de trabalho mais simples:
http://www.databasesandlife.com/why-subversion-is-better-than-git/
fonte