I have a directory structure like this:
.git/
.gitignore
main/
...
tools/
...
...
Inside main and tools, and any other directory, at any level, there can be a 'bin' directory, which I want to ignore (and I want to ignore everything under it too). I've tried each of these patterns in .gitignore but none of them work:
/**/bin/**/*
/./**/bin/**/*
./**/bin/**/*
**/bin/**/*
*/bin/**/*
bin/**/*
/**/bin/* #and the others with just * at the end too
Can anyone help me out? The first pattern (the one I think should be working) works just fine if I do this:
/main/**/bin/**/*
But I don't want to have an entry for every top-level directory and I don't want to have to modify .gitignore every time I add a new one. There are also files and directories that have the substring 'bin' in their names, which I want to keep.
This is on Windows using the latest msysgit.
**
syntax seems now (March 2013, git 1.8.2) officially documented: see my answer below – Siccative~/.cvsignore
. Other version control systems use this name, making it even more "global". – Vaporing