Git vs SVN: eficiência de armazenamento do site [fechado]

3

Eu sei que o SVN (Subversion) armazena os deltas dos arquivos para armazenar dados com eficiência. O Git, no entanto, é um pouco mais complexo. O que eu estou querendo saber é que se eu fosse armazenar arquivos HTML, de imagem e js simples, e acompanhar suas alterações com qualquer um deles, qual deles resultaria em uma melhor eficiência de armazenamento e por quê? Estou especialmente mais interessado em arquivos HTML. No começo, não deveria haver muita diferença. No entanto, como o site muda, especialmente a home page, a diferença deve ser óbvia.

Eu poderia testar os dois e compará-los, no entanto, levaria muito tempo para ver qualquer resultado real . Por isso, decidi ver qual deveria ser teoricamente mais eficiente.

    
por Alireza Noori 12.02.2013 / 07:25

1 resposta

8

git vai ganhar, sem dúvida. É bastante comum que para o repositório git com arquivos de texto (como HTML) os metadados com todo o histórico no diretório .git serão menores que a verificação geral da árvore inteira. (Você pode querer executar git gc de vez em quando, mas git executará automaticamente se perceber que o repositório de objetos não está muito otimizado).

Para o SVN, por outro lado, mesmo o check-out simples será de pelo menos 2x - ele conterá toda a árvore e também backup completo em .svn diretórios, e não incluirá nenhum histórico - e será ainda dependem do servidor de trabalho.

Dê uma olhada no artigo Matéria dos formatos de repositório :

The Mozilla CVS repository was 2.7GB, imported to Subversion it grew to 8.2GB. Under Git, it shrunk to 450MB. Given that a Mozilla checkout is around 350MB, it’s fairly nice to have the whole project history (from 1998) in only slightly more space.

É difícil explicar, mas uma vez que você trabalhe com o git, você ficará impressionado com a sua velocidade impossível. Tudo é tão rápido , que muda a maneira como você pensa sobre o controle de origem e o que faz com ele.

Existem muitas outras vantagens para o git, mas obviamente não posso cobri-las todas aqui. Eu recomendaria ler um bom livro sobre isso, por exemplo, ProGit .

    
por 12.02.2013 / 11:42