Testar Diretórios Vazios
Nesta etapa, exploraremos como o Git lida com diretórios vazios. Este é um ponto comum de confusão para iniciantes, pois o Git se comporta de maneira diferente com diretórios em comparação com arquivos.
Primeiro, certifique-se de estar no seu diretório ~/project/my-time-machine:
cd ~/project/my-time-machine
Agora, vamos criar um novo diretório vazio dentro do nosso projeto:
mkdir empty-folder
Criamos o diretório. Agora, vamos verificar o status do nosso repositório usando git status:
git status
Você deve ver uma saída semelhante a esta:
On branch master
nothing to commit, working tree clean
Observe que o Git não relata empty-folder como um diretório não rastreado. Isso ocorre porque o Git rastreia o conteúdo do arquivo, não os diretórios em si. Um diretório vazio não tem conteúdo para rastrear.
Este é um conceito importante no Git. Se você precisar incluir um diretório vazio em seu repositório, a solução comum é colocar um arquivo dummy dentro dele. Uma prática comum é criar um arquivo chamado .gitkeep (embora o nome não importe, é apenas uma convenção).
Vamos criar um arquivo .gitkeep dentro de empty-folder:
touch empty-folder/.gitkeep
Agora, vamos verificar o git status novamente:
git status
Desta vez, você deve ver:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
untracked files present (use "git add" to track)
Untracked files:
(use "git add <file>..." to include in what will be committed)
empty-folder/
Agora, o Git vê o empty-folder/ porque ele contém um arquivo (.gitkeep) que pode ser rastreado.
Isso demonstra que o Git rastreia a presença de arquivos dentro de diretórios, em vez dos próprios diretórios. Para incluir um diretório no histórico do seu repositório, ele deve conter pelo menos um arquivo rastreado.