我有一个这样的目录结构:
.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
使用类似的模式。
如果您已经有任何bin
git 索引中您不再希望跟踪的文件夹,那么您需要明确删除它们。 Git 不会仅仅因为它们现在匹配新的路径而停止跟踪已经被跟踪的路径.gitignore
图案。执行文件夹删除(rm) 仅来自索引 (--cached) 递归地 (-r)。根 bin 文件夹的命令行示例:
git rm -r --cached bin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)