How can I tell Git to use a different gitignore file than “.gitignore”?

后端 未结 3 1782
囚心锁ツ
囚心锁ツ 2021-01-19 01:17

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

相关标签:
3条回答
  • 2021-01-19 02:07

    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.

    0 讨论(0)
  • 2021-01-19 02:07

    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.

    0 讨论(0)
  • 2021-01-19 02:09

    ".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.

    0 讨论(0)
提交回复
热议问题