我如何“反转”子树子目录中的gitignore文件模式?

问题描述 投票:2回答:1

我有一个包含一个带有一些构建和配置文件的子树的仓库。

main
├── .gitignore
└── build (subtree)
    ├── .gitignore
    └── config.user.json
    └── config.site.json
└── index.js

我想忽略来自config.user.json存储库和main子树的build,但保持 config.site.json位于主存储库中,但忽略 build子树。

main / .gitignore

!build/config.site.json # (this is supposed to reverse the ignore)
build/config.user.json

build / .gitignore

build/config.site.json
build/config.user.json

这是否可行,或者我应该将配置文件放置在与build不同的文件夹中。我有一种感觉,子树中的.gitignore将覆盖主仓库中的.gitignore,而不是相反。

REF:Git Subtree Specific Ignoring

欢呼声

git gitignore git-subtree
1个回答
1
投票
不会那样工作。 gitignore上的Git文档说(重点是我的)

gitignore文件中的每一行都指定一个模式。在决定是否忽略路径时,Git通常会从多个源检查gitignore模式,并按照从高到低的顺序(从优先级到级别,

最后一个匹配模式决定结果):

    从与路径相同的目录中或任何父目录中的.gitignore文件读取的模式,其中较高级别文件(直到工作树的最高级别)中的模式被
  • 被较低级别文件中的模式覆盖向下到包含文件的目录
https://git-scm.com/docs/gitignore
© www.soinside.com 2019 - 2024. All rights reserved.