Posts Taggedgit
Repositório Git consome menos espaço do que Subversion?
Baixei o repositório do SQLObject (completo) pelo Subversion (SVN):
$ svn co http://svn.colorstudy.com/SQLObject SQLObject
………
Olhe bem o tamanho desta fera:
$ du -hc –max-depth=1 SQLObject
71M SQLObject/branches
88K SQLObject/.svn
128K SQLObject/contrib
346M SQLObject/tags
6,6M SQLObject/trunk
424M SQLObject
424M total
Não demorou tanto para baixar, então suponho que o computador baixou dados comprimidos, muito menos que estes 424MB.
Em seguida importei o mesmo repositório dentro do Git. Depois disto, observe abaixo os comandos que executei e como mudou o tamanho do repositório.
Logo após importar o repositório:
$ du -hc –max-depth=1 .
1,5M ./sqlobject
16K ./scripts
89M ./.git
56K ./debian
90M .
90M total
Após rodar o coletor de lixo:
$ git gc
Counting objects: 8753, done.
Compressing objects: 100% (8731/8731), done.
Writing objects: 100% (8753/8753), done.
Total 8753 (delta 6320), reused 0 (delta 0)
$ du -hc –max-depth=1 .
1,5M ./sqlobject
16K ./scripts
7,6M ./.git
56K ./debian
9,2M .
9,2M total
Após apagar objetos não utilizados:
$ git prune
$ du -hc –max-depth=1 .
1,5M ./sqlobject
16K ./scripts
5,8M ./.git
56K ./debian
7,3M .
7,3M total
O tamanho original do repositório é 424MB, mas faz mais sentido que o tamanho real dele seja realmente 90MB, como o Git acusou. O tamanho do repositório importado no Git caiu de 90MB para 7,3MB. Com esta economia de espaço, economiza-se banda, tempo e mídia de backup.
Add comment Segunda-feira, 16 de Junho de 2008
É claro que a Apple usa Git
Devido à minha opinião de que Git é muito bom, comecei a desconfiar que Apple o usava, e hoje por acaso encontrei um link que comprova o fato. Clique aqui para conhecer o repositório do Xquartz, feito em Git.
Update: o link é este.
Add comment Quarta-feira, 11 de Junho de 2008
Como des-publicar um branch publicado acidentalmente no Git
Talvez nem todos saibam, mas o Git é um dos mais poderosos sistemas de controle de versão. Dos que já ouvi falar (CVS, Subversion, Perforce, Bzr, Mercurial), ele é sem dúvida o melhor, principalmente devido às suas funcionalidades. É muito rápido fazer “rebase” e “merge”, muito rápido manter árvores paralelas e desenvolvimento distribuído.
Deixando a introdução de lado, enviei alguns branches acidentalmente e agora desejo despublicá-los. O comando para despublicar é:
git push <repositorio-remoto> :refs/heads/<branch-a-ser-deletado>
Add comment Terça-feira, 10 de Junho de 2008