This conundrum is caused by running git pull from root.
There are various reasons for me to do so... I want my device to update code when booting up, and rc.local is run by root.
It all works mostly fine (npm install tends to fail when run by root, but that's a whole 'nother topic), the problem arises when I try to use the git repository with a non-root user afterward... some of the git files have been written by root, so now I can't use it anymore (permission denied).
So I'd like to recursively chown it back but there doesn't seem to be anything that really works on all of the little git files. I tried the -R flag and ./**/* path.
My guess is that neither of those techniques descend into dot-directories.
bashyou need to setshopt -s dotglobin order to match hidden files by*or**.chown -R *, instead ofchown -R .?