Trackear (acompanhar) Diretórios Vazios com Git

Quem usa git, sabe que ele por padrão só gerencia e versiona arquivos, e não diretórios, isso significa que caso você tenha um diretório vazio em seu repositório ele não identificará mudanças..

Agora imagine que algum diretório de nossa aplicação pode ficar vazio por vezes, o que é muito comum. Como fazer para o git trackear e reconhecer a pasta sem conteúdo?

Geralmente o pessoal cria um arquivo vazio com nome empty ou .gitkeep pra isso, assim o git entenderá que a pasta não está vazia e então acompanhará.

Mas e se eu tiver um diretório que vive com arquivos temporários cujos quais não posso apagar, não posso trackear com o git para não ficar enchendo o repositório remoto com lixo e que deve permanecer existindo (mesmo vazio) quando comito? Eis a solução:

Crie um arquivo .gitignore no diretório que ficará os arquivos temporários e dentro dele coloque a regra que o git utilizará para ignorar os arquivos temporários e logo abaixo adicione o trecho: !.gitignore

Veja alguns exemplos abaixo de .gitignore para manter o diretório vazio trackeado excluindo o conteúdo:

Para ignorar todos arquivos:

# ignorar todos
*
# exceto o .gitignore
!.gitignore

Ignorar todos arquivos do tipo JPG:

# ignorar todos JPG
*.jpg
# exceto o .gitignore
!.gitignore

Assim por diante.. Basta colocar a expressão desejada e pronto.

O que vocês acharam?

Até mais.

Written on May 2, 2013

Share: