On Thu, Jul 19 2018, Ulrich Windl wrote:
> Hi!
>
> I have a (simple) question I could not answer elegantly from the gitignore(5)
> manual page:
>
> A project produces a "foo" binary in the root directory that I want to ignore
> (So I put "foo" into .gitignore)
> Unfortunately I found out taht I cannot have a "script/foo" added while "foo"
> is in .gitignore.
> So I changed "foo" to "./foo" in .gitignore. I can could add "script/foo",
> but now "foo" is not ignored any more!
>
> Is there as solution other than:?
> --
> foo
> !script/foo
> !bla/foo
> #etc.
The solution is to just do:
echo /foo >.gitignore
Then it'll ignore the top-level /foo, but nothing else. How did you come
up with this "./" syntax? It's not understood by gitignore. From
gitignore(5):
A leading slash matches the beginning of the pathname. For example,
"/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".