Se você trabalha com diferentes usuários em projetos pessoais e de trabalho, é interessante configurar seu username e email no Git de maneira local, por projeto, para que seja corretamente rastreado no Github, Gitlab e Bitbucket.

Por padrão o arquivo /<users>/.gitconfig é usado para armazenar as suas configurações globais de usuário e e-mail para o Git.

Veja também

Conteúdo do arquivo .gitconfig

Este é um exemplo de como um arquivo de configuração .gitconfig é composto:

[user]
	name = Ademir Mazer Junior
	email = email [at] mazer.dev
[pull]
	rebase = false
[commit]
	gpgSign = false
[gui]
	pruneduringfetch = true
[smartgit "submodule"]
	fetchalways = true
	update = true
	initializenew = true
[push]
	recurseSubmodules = check

Como você pode verificar, a tag [user]é usada para que todos os clientes Git encontrem seu username e email para configurar os push e commits.

Configurando username e email por projeto no Git

O Git oferece três possibilidades de definir seu nome de usuário e e-mail. As configurações serão consideradas na seguinte ordem, onde 1 > substituirá 2 > substituirá 3.

  1. projeto - Os dados são armazenados diretamente no projeto correspondente (repositório) em git/config.
  2. global - para todos os repositórios do usuário atual. O arquivo de configuração pode ser encontrado em seu diretório home ~/.gitconfig.
  3. sistema - Esta é uma configuração de todo o sistema e está disponível para todos os usuários e todos os repositórios. Você o encontrará nos sistemas Linux, em geral, em /etc/gitconfig.

Na maioria dos casos, você definirá uma configuração global para o usuário e, na sequência, definirá as configurações específicas de cada projeto.

Vamos verificar os três níveis de configuração, do mais abrnagente (item 3 acima) para o mais específico, o item 1 - por projeto:

Configurando username e email para todo o sistema no Git

Esta não é uma indicação tão comum nos tutoriais e cursos, mas você pode configurar para todos os usuários de um sistema operacional um username e email para o Git:

git config --system user.name "Nome de usuário do sistema"
git config --system user.email "[email protected]"

Esta portanto é a configuração global para todos os usuário de seu sistema operacional.

Configurando username e email globalmente no Git

Relembrando os comandos de configuração mais difundidos ao instalar Git:

git config --global user.name "Meu nome global"
git config --global user.email "[email protected]"

Esta é a configuração global para seu usuário de sistema operacional.

Configurando username e email no Git para um projeto específico

Por fim, esta opção sobrepõe as configurações anteriores, para cada projeto em que ela for utilizada. Similarmente às demais opções, você usara os comandos git config, dentro do diretório de seu projeto, porém, desta vez, sem utilizar o parâmetro global ou system:

# lembre-se de navegar para o raiz do projeto
cd pasto-do-projeto
git config user.name "Meu nome neste projeto"
git config user.email "[email protected]"

Você também pode usar a opção --local para “garantir” a configuração local.

Verificando as configurações de nome de usuário e email

Para verificar como estão as configurações utilize o comando git config com a opção --get:

git config --get user.name
git config --get user.email

Os comandos acima mostrarão as configurações locais, para verificar globalmente ou no sistema, adicione as opções --global ou --system.

Artigos de referência: