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
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
.
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.
Exibe a condição atual para cada arquivo na árvore.
É esperado que a primeira execução do git status
demore um pouco, pois ele estará reconstruindo o cache, após isso ficará mais ágil.