image

Acesso para sempre a +2.150 cursos, inglês e IA

84
%OFF
Article image
Roni Carvalho
Roni Carvalho16/09/2026 16:26
Compartilhe

Como Configurar Múltiplas Contas do Git no Windows

    Acontece nas melhores famílias de devs: você clona o repositório da firma no seu notebook Windows, trabalha o dia todo, faz vários commits e, na hora de dar o push, percebe que assinou tudo com seu e-mail pessoal e sua chave GPG do repositório de pet projects.

    No Linux e no macOS, separar repositórios com arquivos .gitconfig condicionais costuma ser bem tranquilo. No Windows, porém, os detalhes de sintaxe de caminhos de arquivos, múltiplos drives e o funcionamento do includeIf costumam ser uma pegadinha clássica.

    Abaixo, veja o passo a passo definitivo em formato de história para você nunca mais esquecer como isolar seus ambientes por diretório ou drive no Windows.

    O Cenário do Dev

    Imagine o Dudu, um desenvolvedor backend que trabalha no Windows. Ele precisa manter duas identidades no mesmo sistema:

    • Trabalho (GitLab - Empresa TechCorp): Projetos no drive D:\Trabalho\, e-mail dudu@techcorp.com e chave GPG de trabalho.
    • Pessoal (GitHub): Projetos no drive C:\Projetos\Pessoal\, e-mail dudufull@gmail.com e chave GPG pessoal.

    A meta do Dudu é simples: quando ele entrar em qualquer pasta dentro de D:\Trabalho\, o Git deve usar suas credenciais corporativas. Quando estiver em C:\Projetos\Pessoal\, deve usar as pessoais.

    Passo 1: Criar os Arquivos Específicos de Configuração

    Em vez de colocar tudo dentro do .gitconfig global, crie arquivos separados para cada perfil na sua pasta de usuário (C:\Users\Dudu\).

    1. Perfil Pessoal (.gitconfig-pessoal)

    Arquivo salvo em: C:\Users\Dudu\.gitconfig-pessoal

    Ini, TOML

    [user]
      name = Dudu
      email = dudufull@gmail.com
      signingkey = 1111222233334444
    
    [commit]
      gpgsign = true
    
    [tag]
      gpgsign = true
    

    2. Perfil de Trabalho (.gitconfig-trabalho)

    Arquivo salvo em: C:\Users\Dudu\.gitconfig-trabalho

    Ini, TOML

    [user]
      name = Dudu (TechCorp)
      email = dudu@techcorp.com
      signingkey = AAAA3333BBBB4444
    
    [commit]
      gpgsign = true
    
    [tag]
      gpgsign = true
    

    Passo 2: O .gitconfig Global e os Segredos do Windows

    Abra o .gitconfig global localizado em C:\Users\Dudu\.gitconfig. É aqui que a mágica (e a maioria das pegadinhas) acontece.

    Ini, TOML

    [user]
      name = Dudu
      email = dudufull@gmail.com
    
    [core]
      autocrlf = true
      sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
    
    [gpg]
      program = C:/Program Files (x86)/gpg4win/bin/gpg.exe
    
    # -------------------------------------------------------------
    # Inclusões Condicionais por Diretório e Drive (Windows)
    # -------------------------------------------------------------
    
    # Para projetos pessoais no Drive C:
    [includeIf "gitdir/i:C:/Projetos/Pessoal/"]
      path = ~/.gitconfig-pessoal
    
    # Para projetos de trabalho em OUTRO DRIVE (Drive D:):
    [includeIf "gitdir/i:D:/Trabalho/"]
      path = ~/.gitconfig-trabalho
    

    As 4 Regras Importantes do Windows (Onde o Dudu Esbarrou)

    1. Atenção à Ortografia: Escreva includeIf (com d). Um simples erro de digitação como incluceif fará o Git ignorar o bloco sem disparar nenhum aviso explicativo.
    2. Use gitdir/i: em vez de apenas gitdir:: O sistema de arquivos do Windows não diferencia maiúsculas e minúsculas (D:\Trabalho e d:\trabalho são iguais). O prefixo /i garante que a correspondência funcione de forma case-insensitive no Windows.
    3. Sempre adicione a barra final /: O caminho deve terminar com / (ex: D:/Trabalho/). Isso indica ao Git que a regra deve valer para todas as pastas e subpastas contidas naquele diretório.
    4. Use Barras Normais (/): Mesmo no Windows e mesmo especificando letras de drives (C: ou D:), utilize a barra normal / no arquivo do Git.

    Passo 3: Como Validar (A Pegadinha do Terminal)

    Esta é a dúvida mais comum: rodar git config user.email logo após editar o arquivo nem sempre mostra o resultado esperado.

    Para o includeIf ser ativado, você precisa estar dentro de um repositório Git ativo (uma pasta contendo o diretório oculto .git ou após rodar um git init).

    Testando na Prática

    Testando o perfil corporativo no Drive D:

    cd D:\Trabalho\projeto-api
    git config user.email
    

    Resultado retornado: dudu@techcorp.com

    Testando a Assinatura GPG:

    git config commit.gpgsign
    

    Resultado retornado: true

    Verificando a chave de assinatura ativa no repositório:

    git config user.signingkey
    

    Resultado retornado: AAAA3333BBBB4444

    Pronto! A partir de agora, o Git altera suas credenciais e chaves GPG automaticamente dependendo do drive e diretório em que seu terminal estiver aberto. No github tem documentação sobre como configurar o ssh e gnupg.

    Compartilhe
    Recomendados para você
    Reclame AQUI - Dados e IA na Prática
    CI&T - Java AI Copilot
    Itaú - Java com Inteligência Artificial
    Comentários (0)