Save file as git-mvs in your path and then:
find -name '*file' -print0 | xargs -r0 git mvs 's/foo/bar/g'
or in zsh:
git mvs 's/foo/bar/g' **/*file
When run against a git tree like this:
/
├ /foodir
│ ├ /foofile
│ └ /otherfile
└ /otherdir
├ /foofile
└ /otherfile
then the result is:
/
├ /bardir
│ ├ /barfile
│ └ /otherfile
└ /otherdir
├ /barfile
└ /otherfile