This is getting somewhat off topic here, but:
git fetch won't change your local files; it only updates git's information about origin
git merge
does change local files. If you have uncommitted changes, it will refuse to try. If you have local commits to a relevant file, those changes won't be overwritten; if the merge can't avoid altering your changes to a file, it won't happen; instead it will report a conflict and leave you to sort it out.
'git pull' == 'git fetch' followed by 'git merge'
so the fetch will always happen, but the merge may not.
As an aside, the local Git folder doesn't seem to be remembered and always defaults to the current project's folder.
I've had troubles in the past with git 'dirs' that were symlinks, but nothing recently. Please could you post/pastebin a sample workspace that does this.