PHP filtrando arquivos e caminhos de acordo com .gitignore

Eu quero usar o PHP para ler todos os arquivos e caminhos ignorados pela configuração .gitignore. Assim como o git faz.

É possível ler o diretório repetidamente e usar a expressão regular para cada arquivo para filtrar. Mas é tão ineficaz se o caminho tiver arquivos demais.

Qualquer maneira boa e mais eficaz para ler arquivos de destino e caminho ignorado por .gitignore?

questionAnswers(6)

yourAnswerToTheQuestion