> Wouldn't this simpler to type and less error prone, as you do
> have to
> $ cd path/to/the
> ... work in that deep
> ... realize that file.txt in that directory needs ignoring ...
> $ echo file.txt > .gitignore
that would have "path/to/the/.gitignore" which contains "file.txt".
Whereas that does work fine, it can be cumbersome to manage a multitude
gitignore files (it can get out of hand). If a policy is in place to
consolidate this management into the root gitignore, they'd have to run:
$ cd path/to/the
... work in that deep directory ...
... realize that file.txt in that directory needs ignoring ...
... know relative path of both desired ignore file and cwd ...
$ echo path/to/the/file.txt > ../../../.gitignore
... or with this script ...
$ git ignore path/to/the/file.txt
Another example might be when the code is deeper embeded, like a
java library path.
$ cd code/src/com/mylib
... work under that directory ...
... realize subclass/helpers/testdata.json needs ignoring ...
... need to know the full path of ignore file, cwd, and
the relative path to root gitignore ...
$ echo code/src/com/mylib/subclass/helpers/testdata.json >
../../../../.gitignore
- or the more intuitive: -
$ git ignore subclass/helpers/testdata.json
- both ending in the same result
$ cat ${REPO_ROOT}/.gitignore
code/src/com/mylib/subclass/helpers/testdata.json