Olá Wanderson, tudo bem?
A diferença entre --local e --global é que o Git usa uma abordagem de configuração hierárquica na qual as configurações de um escopo mais amplo são herdadas, se não substituídas.
No nível superior está a configuração do sistema (todos os usuários, geralmente em /etc/git), depois há a configuração global (que pode substituir os padrões do sistema por pessoais, localizados no diretório inicial do usuário, por exemplo $HOME/.gitconfig ou $HOME/.config/git/config) e finalmente há o local config para um repositório ( .git/config na raiz do repositório) que pode substituir tudo acima e definir opções específicas do repositório.
Todos os arquivos de configuração têm a mesma sintaxe, mas um escopo diferente.
Isso oferece muita flexibilidade, ao utilizar --local o arquivo do git local será alterado com as configurações de user.name e user.email, quando utilizar --global o arquivo global da máquina em $HOME/.gitconfig será alterado :)