如何在顶层目录中忽略除了几个文件和几个带有 .gitignore 的目录以外的所有内容

3
我希望忽略除了顶层目录下的一些文件和几个带有 .gitignore 的目录之外的一切。我的顶层 .gitignore 文件如下:
``` * !/app/ !gbase.php !list-secret-prices.php ```
问题是我必须在每个想要包含的子目录中放置一个仅包含 `!*` 一行的 .gitignore 文件,才能使其工作。我不想在每个需要包含的目录中都放置一个 .gitignore 文件,而是希望在顶层 .gitignore 中处理所有内容。
2个回答

5
在您的情况下,以下内容可能更加合适:
/*
!app/
!gbase.php
!list-secret-prices.php

第一行忽略所有顶级目录和文件。被忽略的目录中的任何内容都将被git忽略,即使没有明确指定也是如此。
第二行取消对app目录的忽略。它还会导致git查找其所有文件和子目录(递归),因为我们从未告诉git忽略顶级目录以下的任何内容。

1
感谢molf。第一行使用/而非似乎是关键。 - Mark

0

我在我的gitconfig文件($HOME/.gitconfig)中进行全局排除。

[core] excludesfile = /Users/meself/.gitignore

然后在~/.gitignore中编写我的模式。

这样做有帮助吗?


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