--- title: gitignore - inclusive or exclusive? date: 2024-01-27 permalink: daily/2024/01/27/gitignore-inclusive-or-exclusive snippet: | How do you write your .gitignore files? tags: - software-development - git --- Add everything and ignore what you don't want, or ignore everything and explicitly add what you need. There are two ways to structure a .gitignore file. The default approach is that all files can be added, and you specify the files and directories you want to ignore. For example, if my `.gitignore` file was this, these two directories would be ignored: ```language-plain vendor web ``` The other approach is to ignore everything and unignore the things to add. For example: ```language-plain * !build.yaml !Dockerfile !docker-compose.yaml !web/*/custom ``` Both approaches work and are regularly used. Which approach do you prefer and why? Reply and let me know.