Grandes projetos que utilizam servidores Git próprio rodando em partições como NFS, Gluster FSx e outras, podem sentir uma certa demora ao executar alguns comandos do Git. Veremos abaixo alguns procedimentos que visam configurar o cache no projeto para melhorar a performance das consultas e executar comandos de manutenção.

Pré-requisito

Antes de começar os passos, é necessário verificar os requisitos abaixo:

  • Habilitar a opção Modo Avançado.
  • Possuir um projeto Cronapp versionado no GIT.
  • Perceber lentidões atípicas ao utilizar o GIT.

Verificações

Antes do procedimento, devemos verificar se os diretórios node_modules dos projetos web e mobile estão marcadas no arquivo .gitignore. Essa pasta possui milhares de arquivos de bibliotecas usadas no projeto que não necessitam ser versionados, já que serão automaticamente baixados quando o projeto for executado em um ambiente diferente.

Para verificar se a pasta node_modules está configurada no .gitignore, acesse o tópico "Ignorar arquivos do node_modules" em Solução de conflitos do Git. Caso não esteja cadastrado, siga os passos indicados e, após isso, verifique novamente se a execução do GIT continua lenta. 

Se o problema ainda persistir, siga os passos abaixo.

Passos

Os passos a seguir serão executados no terminal Cronapp, para acessá-lo, clique no ícone Terminal (destaque 1 da figura 1.1).


Figura 1.1 - Acesso ao terminal Cronapp


Para mais detalhes sobre os comandos executados, acesse a documentação oficial do GIT.

Configurações do repositório local

Os comandos abaixo alteram as configurações do seu repositório local no Cronapp.


O primeiro comando tem o objetivo de corrigir problemas de cache no sistema de arquivos.

$ git config core.fscache true

Reduz a quantidade de arquivos do diretório .git.

$ git config gc.auto 256

Atualiza a indexação dos arquivos sempre que o projeto for alterado, reduzindo o trabalho em comandos como o git diff e git status.

$ git config core.preloadindex true

Verifica quais arquivos foram alterados com base na data/hora, evitando o procedimento desnecessário de arquivos que não foram alterados.

$ git config core.fsmonitor true

Otimização do repositório local

Os comandos abaixo alteram as configurações do seu repositório local no Cronapp.


Limpa arquivos desnecessários e otimiza o repositório local.

$ git gc --auto --no-prune

Atualiza a indexação dos arquivos do projeto.

$ git update-index

Exibe a condição atual para cada arquivo na árvore.

$ git status


É esperado que a primeira execução do git status demore um pouco, pois ele estará reconstruindo o cache, após isso ficará mais ágil.

Nesta Página

  • No labels