A diferença é por causa de algumas especialidades de citação de shell.
Se você executar um desses (eles são formas equivalentes de citar no shell)
git log --pretty=format:'%ad %s%d'
git log '--pretty=format:%ad %s%d'
git log --pretty=format:%ad\ %s%d
git log --pretty=form'at:%ad %'s%d
git log --pretty=format:%ad" "%s%d
git log --pretty=format:"%ad %s%d"
git receberá dois argumentos, sendo o primeiro log e o segundo --pretty=format:%ad %s%d .
Se você executar
SIMPLE='--pretty=format:"%ad %s%d"'
a variável SIMPLE terá o valor --pretty=format:"%ad %s%d" , incluindo as aspas duplas.
Agora, se estivermos em zsh e você executar
git log $SIMPLE
ou no bash
git log "$SIMPLE"
git verá o segundo argumento como --pretty=format:"%ad %s%d" . (Se eu executar git log $SIMPLE no bash recebo um erro porque git recebe três argumentos: log , --pretty=format:"%ad e %s%d" ).
Então, dentro da variável, você não precisaria das aspas internas (exceto se quiser passar para eval ).