Git Pie: A Arte Ancestral do Versionamento 🥧 Help

Problemas de Performance no Git

Diagnóstico

Métricas Importantes

PerformanceOperaçõesRecursosCloneFetchPushCPUMemóriaDiscoRede

Ferramentas de Análise

# Trace de performance GIT_TRACE_PERFORMANCE=1 git status # Estatísticas de objetos git count-objects -v # Análise de packfiles git verify-pack -v .git/objects/pack/*.idx

Otimizações

Configurações

# Melhorar performance local git config core.preloadindex true git config core.fsmonitor true git config core.untrackedCache true # Otimizar rede git config core.compression 9 git config pack.windowMemory "100m"

Manutenção

+------------------------+ | MANUTENÇÃO | | | | • git gc | | • git prune | | • git repack | | • git fsck | | • git maintenance | +------------------------+

Problemas Específicos

Clone Lento

# Clone raso git clone --depth 1 URL # Clone específico git clone --filter=blob:none URL # Clone parcial git clone --sparse URL

Push/Pull Lento

Análise

Rede

Tamanho

Objetos

Problema

Causa

Compressão

LFS

GC

Monitoramento

Métricas Chave

  1. Tempo de operação

  2. Uso de recursos

  3. Tamanho do repo

  4. Objetos soltos

  5. Eficiência de pack

Comandos de Monitoramento

# Tamanho do repo du -sh .git/ # Objetos grandes git rev-list --objects --all | \ git cat-file --batch-check | \ sort -k3nr | head # Status de refs git for-each-ref --sort=-committerdate

Próximos Passos

Tópicos Relacionados

22 abril 2025