Where does the .gitignore file belong?

GitGitignore

Git Problem Overview


Does the .gitignore file belong in the .git folder structure somewhere or in the main source files?

Git Solutions


Solution 1 - Git

Put .gitignore in the working directory. It doesn't work if you put it in the .git (repository) directory.

$ ls -1d .git*
.git
.gitignore

Solution 2 - Git

As the other answers stated, you can place .gitignore within any directory in a Git repository. However, if you need to have a private version of .gitignore, you can add the rules to .git/info/exclude file.

Solution 3 - Git

You can place .gitignore in any directory in git.

It's commonly used as a placeholder file in folders, since folders aren't usually tracked by git.

Solution 4 - Git

When in doubt just place it in the root of your repository. See https://help.github.com/articles/ignoring-files/ for more information.

Solution 5 - Git

In the simple case, a repository might have a single .gitignore file in its root directory, which applies recursively to the entire repository. However, it is also possible to have additional .gitignore files in subdirectories. The rules in these nested .gitignore files apply only to the files under the directory where they are located. The Linux kernel source repository has 206 .gitignore files.

-- this is what i read from progit.pdf(version 2), P32

Solution 6 - Git

If you want to do it globally, you can use the default path git will search for. Just place it inside a file named "ignore" in the path ~/.config/git

(so full path for your file is: ~/.config/git/ignore)

Solution 7 - Git

Root directory is fine for placing the .gitignore file.

Don't forget to use git rm --cached FILENAME to add files to .gitignore if you have created the gitignore file after you committed the repo with a file you want ignored. See github docs. I found this out when I created a .env file, then committed it, then tried it to ignore it by creating a .gitignore file.

Solution 8 - Git

You may also find a global .gitignore directly at the ~ path if you haven't created it in your folder project. This file is taken into account by all your .git projects.

Solution 9 - Git

Also, if you create a new account on Github you will have the option to add .gitignore and it will be setup automatically on the right/standard location of your working place. You don't have to add anything in there at the begin, just alter the contents any time you want.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmishaFView Question on Stackoverflow
Solution 1 - GitjmulhoView Answer on Stackoverflow
Solution 2 - GitAlan Haggai AlaviView Answer on Stackoverflow
Solution 3 - GitphilipkView Answer on Stackoverflow
Solution 4 - GitHraban LuyatView Answer on Stackoverflow
Solution 5 - GitC LeiView Answer on Stackoverflow
Solution 6 - GitLiran BrimerView Answer on Stackoverflow
Solution 7 - GitMr. JView Answer on Stackoverflow
Solution 8 - GitXLE_22View Answer on Stackoverflow
Solution 9 - GitThieliciousView Answer on Stackoverflow