I can tell Git where the Git repository is with --git-dir
. I can tell Git where the working tree is with --work-tree
. How do I tell Git where the g
You can use core.excludesfile
to specify the new ignore file. By default this will only affect the current repository; you can use the --global
option if you want to change the default value.
git config core.excludesfile ".new_gitignore"
Edit 1
AFAIK, .gitignore
cannot be disabled. And it takes precedence over .git/info/excludes
and core.excludesfile
. The only way I can think of is having some hacks using filters. This answer explains the use of filters well.
Each repository has an info/exclude
file - there should be one in .git/info/exclude
and in .git.sync/info/exclude
. Populate those exclude files just as you would .gitignore
.
".gitignore" seems to be hard-coded as a per-directory exclude file in git in most commands, taking precedence over all other ignore files.
However, I created a small patch for Git to overcome this limitation: https://gist.github.com/rev22/9954517
It adds the following configuration option:
core.ignoreperdir: Specify an alternative to '.gitignore' as a per-directory exclude-file. If this is not set, the default '.gitignore' is used. If this is empty, no per-directory exclude file is used.