Apache Subversão ou SVN é um dos sistemas de controle de versão centralizado mais populares . Agora, a popularidade do SVN está diminuindo, mas ainda existem milhões de projetos armazenados nele. Ele pode continuar a ser mantido ativamente por uma comunidade de código aberto. No SVN, você pode verificar uma única versão do repositório. Ele armazena dados em um servidor central. A desvantagem do SVN é que ele possui todo o histórico em um repositório local que limita você. Você só pode fazer commits, diffs, logs, branchs, merges, anotações de arquivos, etc.
Enquanto, Git é um popular sistema de controle de versão distribuído , o que significa que você pode clonar seu repositório. Assim você pode obter uma cópia completa de todo o histórico daquele projeto. Isso significa que você pode acessar todos os seus commits.
Git tem mais vantagens que SVN . É muito melhor para aqueles desenvolvedores que nem sempre estão conectados ao repositório master. Além disso, é muito mais rápido que o SVN.
Para entender melhor as diferenças entre Git e Subversion. Vamos dar uma olhada nos seguintes pontos significativos.
Git | SVN |
---|---|
É um sistema de controle de versão distribuído. | É um sistema de controle de versão centralizado |
Git é um SCM (gerenciamento de código-fonte). | SVN é controle de revisão. |
Git tem um repositório clonado. | SVN não possui um repositório clonado. |
As ramificações do Git estão acostumadas a funcionar. O sistema Git ajuda a mesclar os arquivos rapidamente e também auxilia na localização dos não mesclados. | As ramificações SVN são uma pasta que existe no repositório. Alguns comandos especiais são necessários para mesclar as ramificações. |
O Git não possui um número de revisão global. | SVN possui um número de revisão global. |
O Git possui conteúdo criptografado com hash que protege o conteúdo contra corrupção do repositório que ocorre devido a problemas de rede ou falhas de disco. | O SVN não possui nenhum conteúdo criptografado com hash. |
O Git armazenou conteúdo como metadados. | SVN armazena conteúdo como arquivos. |
Git tem mais proteção de conteúdo que SVN. | O conteúdo do SVN é menos seguro que o Git. |
Linus Torvalds desenvolveu o git para o kernel Linux. | CollabNet, Inc desenvolveu o SVN. |
Git é distribuído sob GNU (licença pública geral). | SVN é distribuído sob licença de código aberto. |