Was ist der Unterschied zwischen Git, das Verzeichnis und Verzeichnis / * ignoriert?

Ich bin verwirrt darüber, wie man den Inhalt eines Verzeichnisses in git richtig ignoriert.

Angenommen, ich habe die folgende Verzeichnisstruktur:

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

Was ist der Unterschied zwischen diesem Putting:

www

Und das

www/*

Der Grund, warum ich diese Frage stelle, ist: Wenn in git ein Verzeichnis leer ist, wird git dieses leere Verzeichnis nicht in das Repository aufnehmen. Also habe ich versucht, eine zusätzliche .gitkeep-Datei unter dem Verzeichnis hinzuzufügen, damit sie nicht leer ist. Wenn ich diese Lösung ausprobiert habe, schreibe ich in der .gitignore-Datei wie folgt:

www
!*.gitkeep

Es funktioniert nicht (Ich beabsichtige, alle Inhalte unter www zu ignorieren, aber das Verzeichnis beizubehalten). Aber wenn ich folgendes versuche:

www/* 
!*.gitkeep

Dann klappt es! Ich denke, es muss einige Unterschiede zwischen den beiden Ansätzen geben.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage