Ecco la mia linea di pensiero:
La ignorare dichiarazione *
ignorerà tutto per impostazione predefinita, compresa la directory principale e tutto il suo contenuto.
Quindi a questo punto, tutti i file e le cartelle nella directory principale vengono ignorati.
Il comando !*.php
sarà nuovamente includere tutti i file *.php
nel percorso principale, ma le cartelle sono ancora in corso ignorati (perché non finiscono in .php
) - e quindi, non sono negati dalla gitignore ancora.
Quindi il comando !*/
include nuovamente tutte le directory (e le sottodirectory successive) in modo che possano essere esaminate per i file *.php
. Esempio: folder1/
corrisponde la dichiarazione negazione !*/
perché contiene la /
alla fine e il nome della cartella si adatta l'operatore jolly *
'' Non ignorare '*' tutto in questa directory '/' che termina con un! barra. Aka non ignora le sottodirectory. – Sammitch