From: Johannes Sixt Date: Thu, 01 Oct 2009 12:39:44 GMT Subject: Re: gitignore: how to exclude a directory tree from being ignored Message-ID: <4AC4A310.8000507@viscovery.net> In-Reply-To: <4AC48D5F.6060401@mycircuit.org> Peter schrieb: > Hi > I want to exclude binaries except in a dir tree that I do not control. > > In .gitignore I have: > > > I would expect that all *.exe and *.o are ignored except those somewhere > in the vendor dir tree. > However, the *.exe and *.o in the vendor dir tree are also ignored. This works for me: *.exe *.o !vendor/*.exe !vendor/*.o Note that git-status does not descend into directories from which no files are tracked. Therefore, this will work only after you have git-added at least one file from vendor/. git ls-files -o --exclude-standard does descend into the directory. Furthermore, the !vendor/*.exe patterns are not recursive. Perhaps it is easier for you to have a separate vendor/.gitignore that has: !*.exe !*.o These _are_ recursive. -- Hannes