忽略 git 项目上的任何“bin”目录

2024-04-11

我有一个这样的目录结构:

.git/
.gitignore
main/
  ...
tools/
  ...
...

在 main 和 tools 以及任何其他目录中,在任何级别,都可以有一个“bin”目录,我想忽略它(并且我也想忽略它下面的所有内容)。我已经在 .gitignore 中尝试过这些模式,但没有一个起作用:

/**/bin/**/*
/./**/bin/**/*
./**/bin/**/*
**/bin/**/*
*/bin/**/*
bin/**/*
/**/bin/* #and the others with just * at the end too

谁能帮我吗?如果我这样做,第一个模式(我认为应该有效)就可以正常工作:

/main/**/bin/**/*

但我不想为每个顶级目录都有一个条目,并且我不想每次添加新目录时都必须修改 .gitignore。还有一些文件和目录的名称中包含子字符串“bin”,我想保留.

这是在 Windows 上使用最新的 msysgit。


在1.8.2版本之前,**中没有任何特殊含义.gitignore。从 1.8.2 开始 git 支持**表示零个或多个子目录(请参阅发行说明 https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.2.txt).

忽略的方法all名为的目录bin目录树中当前级别以下的任何位置都带有.gitignore具有以下模式的文件:

bin/

In the man页面,有一个忽略名为的目录的示例foo使用类似的模式。

如果您已经有任何bingit 索引中您不再希望跟踪的文件夹,那么您需要明确删除它们。 Git 不会仅仅因为它们现在匹配新的路径而停止跟踪已经被跟踪的路径.gitignore图案。执行文件夹删除(rm) 仅来自索引 (--cached) 递归地 (-r)。根 bin 文件夹的命令行示例:

git rm -r --cached bin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

忽略 git 项目上的任何“bin”目录 的相关文章

随机推荐