Às vezes você precisa colocar uma pasta vazia no seu projeto no GitHub, mas tradicionalmente o git não faz acompanhamento de pastas vazias, e aí cai a dúvida: “como fazer uma pasta vazia aparecer no GitHub se o git não deixa?”

Não se preocupe, nessa colinha você vai ver como fazer isso usando um arquivo especial chamado .gitkeep.

Isso aconteceu comigo há alguns anos no projeto que eu trabalhava: uma das ferramentas open-source dependia da existência de uma pasta para fazer o download de dados de exemplo e o time decidiu que colocar uma conferência da existência da pasta ou criação dela no nosso código seria um exagero. Uma forma que vimos para garantir a existência da pasta foi usando o .gitkeep.

Ao colocar este arquivo numa pasta vazia, ele garante que o git vá adicionar essa pasta no seu sistema de versionamento e por ser um arquivo oculto, ele facilita a manutenção da estrutura de pastas sem atrapalhar o uso da pasta para outros fins.

Na imagem abaixo você vê um projeto chamado exemplo-pastas que já possui um arquivo README.md que já foi commitado e sem alterações acompanhadas pelo git, em seguida eu crio uma nova pasta chamada diretorio1 e ao fazer novamente o git status o git segue informando que não há mudanças no projeto.

exemplo 1

Agora se criarmos o arquivo .gitkeep dentro do diretorio1 o git mostra que há a existência de um diretório a ser adicionado, veja:

exemplo 2

Com isso você consegue ver o funcionamento do .gitkeep e caso queira ver na prática esse exemplo está disponível nesse repositório do GitHub.