¿Por qué no funciona este git alias para encontrar twigs remotas?

Estoy en el símbolo del sistema de Windows (no juzgue).

Tengo este command:

git remote show origin | grep \w*\s*(new^|tracked) -E 

Esto funciona bien, imprimiendo lo que espero:

  dev tracked master tracked my-account tracked payment-request tracked 

Intenté agregarlo como alias:

 git config --global alias.branches "!git remote show origin | grep \w*\s*(new^|tracked) -E" 

Mi file de configuration se ve así:

 alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E 

Pero cuando lo ejecuto:

 >git branches git remote show origin | grep \w*\s*(new^|tracked) -E: -c: line 0: syntax error near unexpected token `(' git remote show origin | grep \w*\s*(new^|tracked) -E: -c: line 0: `git remote show origin | grep \w*\s*(new^|tracked) -E' 

No entiendo por qué esto está dando aquí este error de syntax, cuando funcionó perfectamente bien cuando ejecuté manualmente el command. ¿Por qué ocurre este error y cómo puedo solucionarlo?

¿Has intentado con

 git remote show origin | grep \w*\s*'(new^|tracked)' -E 

en tu alias, en Linux tengo el mismo error cuando ejecuto tu command y funciona cuando agrego el '