Git for Windowsのインタラクティブシェル(コマンドラインインターフェイス)として付属するbashで、文字列置換を使ってgit mvを一括実行してみよう、という話です。
例えば
./Projects/MyClass1.cpp ./Projects/MyClass1.h ./Projects/MyClass2.cpp ./Projects/MyClass2.h ……
というように命名されたファイルがGit管理下に多数存在したとして、これらを
./Projects/MyInternalClass1.cpp ./Projects/MyInternalClass1.h ./Projects/MyInternalClass2.cpp ./Projects/MyInternalClass2.h ……
というように一括でリネームしたいとき、1つ1つgit mvしたり、TortoiseGitなどのGUIフロントエンドからいちいちファイル名を置換したりするのは気が遠くなるくらい退屈な作業です。
そういうときはbashでループを書きます。
for i in $(find . -iname "MyClass*"); do git mv "$i" "${i/MyClass/MyInternalClass}"; done
実行前に確認してみたいときはechoを入れてみます。
for i in $(find . -iname "MyClass*"); do echo git mv "$i" "${i/MyClass/MyInternalClass}"; done
さらに複雑な置換をするには正規表現を使うとよいでしょう。