Qual é a diferença entre o Git que ignora o diretório e o diretório / *?

Estou confuso sobre qual é a maneira correta de ignorar o conteúdo de um diretório no git.

Suponha que eu tenha a seguinte estrutura de diretórios:

my_project  
     |--www  
         |--1.txt  
         |--2.txt
     |--.gitignore

Qual é a diferença entre colocar isso:

www

E isto?

www/*

A razão pela qual estou fazendo esta pergunta é: No git, se um diretório estiver vazio, o git não incluirá esse diretório vazio no repositório. Então, eu estava tentando a solução que é adicionar um arquivo .gitkeep extra no diretório para que ele não fique vazio. Quando eu estava tentando essa solução, se estiver no arquivo .gitignore, escrevo como abaixo:

www
!*.gitkeep

Não funciona (minha intenção é ignorar todo o conteúdo em www, mas manter o diretório). Mas se eu tentar o seguinte:

www/* 
!*.gitkeep

Então funciona! Então, acho que deve haver algumas diferenças entre as duas abordagens.

questionAnswers(4)

yourAnswerToTheQuestion