gitignore all, exceto o arquivo na subpasta

Eu já tentei muitas combinações do .gitignore, mas nenhuma funcionou para o que eu precisava. Eu tenho esta árvore:

jobs/
jobs/projecta/config.xml
jobs/projecta/garbage
jobs/projecta/more/garbage
jobs/projectb/config.xml
jobs/projectb/garbage
jobs/projectb/more/garbage

Lixo significa qualquer outro arquivo. Quero confirmar apenas os arquivos config.xml e ignorar tudo dentro dos trabalhos / exceto eles. Então eu tentei:

/jobs/*
!/jobs/*/config.xml

Dessa forma, tudo dentro dos trabalhos é ignorado, incluindo o arquivo config.xml. Com a ordem inversa, o mesmo acontece. Portanto, posso forçar a adição de todos os arquivos de configuração e as alterações a eles serão rastreadas, mas se eu adicionar uma nova pasta dentro dos jobs, o config.xml não aparecerá como um arquivo não rastreado, para que as pessoas se esqueçam de adicioná-los.

Eu já tentei com **, mas consegui o mesmo.

Alguma ideia? Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion