Filtrado de PHP de archivos y rutas según .gitignore

Quiero usar PHP para leer todos los archivos y rutas ignoradas por la configuración de .gitignore. Justo como lo hace git.

Es posible leer el directorio repetidamente y usar expresiones regulares para filtrar cada archivo. Pero es tan ineficaz si la ruta tiene demasiados archivos.

¿Alguna forma buena y efectiva de leer los archivos de destino y la ruta ignorada por .gitignore?

Respuestas a la pregunta(6)

Su respuesta a la pregunta