Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exceptions in .gitignore [duplicate]

Tags:

git

gitignore

People also ask

How do I Gitignore everything except?

You want to use /* instead of * or */ in most cases The above code would ignore all files except for . gitignore , README.md , folder/a/file. txt , folder/a/b1/ and folder/a/b2/ and everything contained in those last two folders.

Can I have 2 Gitignore files?

gitignore file is a plain text file where each line contains a pattern for files/directories to ignore. Generally, this is placed in the root folder of the repository, and that's what I recommend. However, you can put it in any folder in the repository and you can also have multiple . gitignore files.

What does double asterisk mean in Gitignore?

A trailing " /** " matches everything inside. For example, " abc/** " matches all files inside directory " abc ", relative to the location of the . gitignore file, with infinite depth. A slash followed by two consecutive asterisks then a slash matches zero or more directories.


Use ! to negate the pattern:

*.dll
!myfile.dll

If you want to ignore whole folder, except some specific files, then write:

MyFolder/*
!MyFolder/CoolFile.txt

This won't work:

MyFolder/
!MyFolder/CoolFile.txt

You can also ignore folders like

!src/main/resources/archetype-resources/**/*

you can also ignore nested folder with patterns like

!**/src/test/resources/**/*

For quick creation of .gitignore file try gitignore.io


You can have several .gitignore files working together in a hierarchical manner to achieve your goal. At the root level you may have:

root

*.dll

inside the folder having the myfile.dll you can add another .gitignore file like so:

root/lib/folderwithMyFiledll

!myfile.dll

more info here

An optional prefix "!" which negates the pattern; any matching file excluded by a previous pattern will become included again. Put a backslash ("\") in front of the first "!" for patterns that begin with a literal "!", for example, "!important!.txt". It is possible to re-include a file if a parent directory of that file is excluded if certain conditions are met. See section NOTES for detail.