Diretório vazio no Git: É possível

Muitas vezes a hierarquia de pastas é importante em nossos projetos e precisamos criar pastas vazias no repositório.

Muitos desenvolvedores acabam descobrindo o problema quando fazem deploy no servidor e notam que as pastas não entraram no commit.

Como criar diretórios vazios então? Infelizmente o git só se importa com arquivos, e quando existe um diretório sem arquivos, ele é ignorado no controle de versão. Mas existem algumas soluções para o problema.

A solução para este problema é criar uma pasta quase vazia.

Criando um diretório quase vazio

Depois de criar sua pasta vazia, crie um arquivo .gitignore dentro dela, assim ela poderá ser adicionada ao commit e fará parte do repositório. Na verdade qualquer arquivo pode ser usado. Crie um arquivo oculto .keep se preferir, ou até mesmo um README.

A vantagem do gitignore é já ser meio padrão pra esse assunto e também servir para ignorar outros arquivos.

O arquivo oculto .gitignore pode ficar vazio ou conter uma listagem de arquivos que você queira ignorar nos seus commits mais tarde.

Vamos supor que você queira criar uma pasta uploads e adicionar somente esta pasta ao repositório, mas que todos os arquivos futuros dentro dela sejam ignorados.

Crie um arquivo .gitignore dentro da pasta e adicione o seguinte conteúdo:

# Exclui todos os arquivos da pasta
*
# Menos o próprio .gitignore
!.gitignore

Desta forma, a pasta será criada apenas com o .gitignore e nenhum arquivo adicionado futuramente à ela será considerado pelo git.

Se quiser que outros arquivos sejam considerados futuramente, basta criar um arquivo .gitignore vazio.



Este artigo foi útil pra você?

Ricardo Metring

Ricardo Metring

Sou desenvolvedor full stack e co-fundador da Criar.io.
Trabalho há 10 anos com programação e sempre interessado em aprender mais.

Linkedin     Github

Artigos relacionados