Search code examples
gitgitignore

gitignore: Ignore all files in folder hierarchy except one specific filetype


I'd like to ignore all files below and in a folder except a specific filetype that could be somewhere in the folders hierarchy:

Example

/Test
/Test/unknown/folder/structure/below

Now I'd like to ignore all files in and below the Test folder except a certain css file named layout.css, e.g.:

/Test/layout.css
/Test/fileto.ignore
/Test/another/folder/ig.nore
/Test/in/a/unknown/folder/layout.css
/Test/in/a/unknown/folder/ignore.me

.gitignore should ignore

/Test/fileto.ignore
/Test/another/folder/ig.nore
/Test/in/a/unknown/folder/ignore.me

My .gitignore file does not work:

Test/
!layout.css

Any suggestions?


Solution

  • I was able to get your example to work by putting a .gitignore file in the Test/ directory with the following contents.

    *
    !*/
    !.gitignore
    !layout.css