Where does the .gitignore file belong?
GitGitignoreGit 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.