Im moment gibt es Unterschiede zwischen www, www/und www/*.
Grundsätzlich finden Sie in der Dokumentation und in meinen eigenen Tests wwweine Übereinstimmung mit einer Datei oder einem Verzeichnis, die www/nur mit einem Verzeichnis www/*übereinstimmt , während Verzeichnisse und Dateien darin übereinstimmen www.
Ich werde nur auf die Unterschiede zwischen www/und www/*hier eingehen, da die Unterschiede zwischen wwwund www/offensichtlich sind.
Denn www/git ignoriert das Verzeichnis wwwselbst, was bedeutet, dass git nicht einmal hineinschaut. Aber für www/*git überprüft git alle Dateien / Ordner im Inneren wwwund ignoriert sie alle mit dem Muster *. Es scheint zu den gleichen Ergebnissen zu führen, da git einen leeren Ordner nicht verfolgt, wwwwenn alle untergeordneten Dateien / Ordner ignoriert werden. Und in der Tat werden die Ergebnisse für den Fall von OP mit www/oder für sich www/*allein keinen Unterschied machen . Aber es macht Unterschiede, wenn es mit anderen Regeln kombiniert wird.
Was ist zum Beispiel, wenn wir www/1.txtalle anderen nur einschließen, aber ignorieren wollen www?
Folgendes .gitignorewird nicht funktionieren.
www/
!www/1.txt
Während das Folgende .gitignorefunktioniert, warum?
www/*
!www/1.txt
Bei ersteren ignoriert git das Verzeichnis einfach wwwund schaut nicht einmal hinein, um es www/1.txterneut einzuschließen. Die erste Regel schließt das übergeordnete Verzeichnis aus, wwwjedoch nicht www/1.txt, und www/1.txtkann daher nicht " wieder aufgenommen " werden.
Bei letzterem ignoriert git jedoch zuerst alle Dateien / Ordner unter wwwund schließt dann wieder eine davon ein www/1.txt.
In diesem Beispiel können die folgenden Zeilen in der Dokumentation hilfreich sein:
Ein optionales Präfix "!" was das Muster negiert; Alle übereinstimmenden Dateien, die von einem vorherigen Muster ausgeschlossen wurden, werden wieder aufgenommen. Es ist nicht möglich, eine Datei erneut einzuschließen, wenn ein übergeordnetes Verzeichnis dieser Datei ausgeschlossen ist.
binundbin/besteht darin, dass erstere Dateien oder Ordner ignorieren, letztere nur Ordner. Ich kenne den Unterschied nicht mitbin/*