Double-escape "head ^" para "head ^^^^" :
C:\core\guidewire\Release.3_MT1\ClaimCenter>for /f %p in ('git diff --name-only head^^^^') do @(echo %p)
ClaimCenter/modules/configuration/config/web/pcf/TabBar.pcf
ClaimCenter/modules/configuration/config/web/pcf/team/user/TeamUserClaims.pcf
ClaimCenter/modules/configuration/gsrc/citizens/cc/pcf_gs/team/TeamTabLastUser.gs
Quando o CMD executa o comando entre aspas, ocorre uma segunda rodada de expansão, de modo que ^^
se torne ^
e, em seguida, . Na verdade, o caso de teste que difere contra "master ^^" não prova nada, uma vez que acaba sem nenhum carinho. A linha de comando original simplesmente diferiu HEAD contra HEAD, o que obviamente não tem arquivos alterados.