Posts tagged ‘git’

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.

segunda-feira, 16 \16\UTC junho \16\UTC 2008 at 4:10 am Deixe um comentário

É 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.

quarta-feira, 11 \11\UTC junho \11\UTC 2008 at 8:31 pm Deixe um comentário

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>

terça-feira, 10 \10\UTC junho \10\UTC 2008 at 10:55 am Deixe um comentário


Categorias

Favoritos