.gitignore中的子文件夹

syn*_*gma 17 git gitignore

我的repo中有很多子文件夹,在build/提交代码时我想忽略的目录很少.据我了解,有两种方法可以忽略所有文件夹:

  • */build/ (Unix通配符)
  • build/(忽略文件/文件夹的git方式)

我发现Git忽略子文件夹,但它有两个答案,我想知道两种方法之间的区别(无?).相同的规则适用于文件吗?

Sim*_*mon 35

build/是正确的方法.它将忽略build目录内的任何文件,无论这些目录嵌套在您的仓库中有多深.

*/build/表示忽略repo build正好一层的目录.因此,例如内部文件build,foo/bar/build不会被忽略.

如果您需要更细粒度的控制,您始终可以添加要排除的特定目录,但也不能排除使用!作为前缀.

  • 我已经尝试了各种变体,但无法在裸存储库上获取 `git add .` 以忽略目录和该目录的所有子目录中的所有文件。我试过`dirname/`、`dirname/*`、`dirname/**`、`dirname/*/*`,即使在绝望中也尝试过`dirname/*/*/*`、`dirname/*/*/* /*`, `目录名/*/*/*/*/*`。 (2认同)