Ir para o conteúdo principal

Procedimento de Limpeza de Ambiente de Desenvolvimento com Git

Este procedimento tem como objetivo limpar e reorganizar o repositório local de desenvolvimento, removendo branches e tags locais desnecessárias, sincronizando com o repositório remoto e eliminando arquivos e diretórios não rastreados. Ele deve ser executado a partir da raiz do projeto Git, respeitando o tipo de ambiente: Standard (baseado em master) ou Premium (baseado em premium).

Comandos para execução

Para ambiente Standard
git checkout master && \
git branch | egrep -v "master|premium" | xargs git branch -D && \
git tag -d $(git tag -l) && \
git fetch origin && \
git pull && \
git clean -df && \
git gc --prune
Para ambiente Premium
git checkout premium && \
git branch | egrep -v "master|premium" | xargs git branch -D && \
git tag -d $(git tag -l) && \
git fetch origin && \
git pull && \
git clean -df && \
git gc --prune

Explicação dos Comandos

git checkout master ou git checkout premium

Garante que você esteja em uma branch principal segura antes de remover as outras. Isso evita erros ao tentar deletar a branch atualmente em uso.


git branch | egrep -v "master|premium" | xargs git branch -D

Remove todas as branches locais, exceto master e premium. Mantém o repositório limpo e alinhado com o fluxo principal de desenvolvimento.

Observação
Caso o repositório possua apenas a branch master ou premium, o comando acima não encontrará nenhuma branch para excluir e, por consequência, o xargs tentará executar git branch -D sem argumentos, resultando no erro:
fatal: branch name required
Esse erro pode ser ignorado, pois indica apenas que não há branches adicionais para deletar. Neste caso, continue normalmente com os comandos seguintes.


git tag -d $(git tag -l)

Deleta todas as tags locais, que muitas vezes são apenas referências temporárias ou desatualizadas.


git fetch origin

Atualiza as referências remotas do repositório (origin), trazendo novas branches e tags sem mesclar nada.


git pull

Atualiza a branch atual com as últimas alterações do repositório remoto.


git clean -df

Remove arquivos e diretórios não rastreados pelo Git (por exemplo, arquivos temporários, builds locais etc.).


git gc --prune

Executa uma coleta de lixo no repositório, eliminando objetos órfãos e liberando espaço.


Observações Finais

Atenção
Este processo é destrutivo. Certifique-se de que não há alterações não versionadas ou branches locais importantes, pois tudo que não estiver no repositório remoto será perdido.

Esse procedimento é recomendado especialmente para desenvolvedores que lidam com múltiplas branches e testes locais frequentes, garantindo um ambiente de desenvolvimento limpo, leve e sincronizado.