忽略除了某些子目录以外的所有内容

5

我需要仅控制我的树上的“debian”子目录:

pkg/.git
pkg/.gitignore
pkg/package1/package1-2.2.1/debian
pkg/package2/package2-1.0/debian

我尝试了这种.gitignore,但它不起作用:
*
!.gitignore
!*/*/debian

当我运行

git add package1/package1-2.2.1/debian

git的回答是:

以下路径被您的.gitignore文件之一忽略:

package1

这是非常合理的。如有需要,我们会提供帮助!

2个回答

2

您仍然可以通过以下方式添加:

git add -f package1/package1-2.2.1/debian

顺便说一下,您可能不想忽略您的.gitignore文件,因为您需要知道何时必须提交对其所做的任何更改。如果您不想将忽略规则提交到存储库中,则应改用.git/info/exclude


可悲的是,这似乎是唯一的方法 :( - Falken

-1
gitignore文档 中所述的前缀 !一个可选的前缀!,它否定模式; 由先前模式排除的任何匹配文件将再次包含。如果否定模式匹配,则会覆盖较低优先级的模式来源。 也许这意味着您不能使用两个连续的 !。 尝试暂时删除 !.gitignore,然后运行 git add

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接