Artigo original: How to fix Git always asking for user credentials

Já aconteceu com você de o Git sempre pedir seu nome de usuário e senha toda vez que você tenta interagir com o GitHub, mesmo depois de o Git já estar configurado? Bem, esse é um problema bastante comum entre os usuários que usam o URL de  HTTPS para clonar seus repositórios. Neste artigo, mostrarei como dar um jeito nisso.

O URL de clonagem que inicia com https:// está disponível em todos os repositórios, públicos e privados. Esses URLs funcionam em qualquer lugar, mesmo que você esteja por trás de um firewall ou proxy.

clone

Ao interagir com um repositório remoto usando os URLs de HTTPS na linha de comando, sempre será pedido para você seu nome de usuário e senha do GitHub. E isso incomoda, certo?

Bem, usar um URL remoto de HTTPS tem suas vantagens: é mais fácil de configurar que o SSH :), e geralmente funciona, mesmo com firewalls e proxies rígidos. Contudo, eles sempre solicitarão que você insira suas credenciais de usuário do GitHub quando tentar um pull ou um push em um repositório :(.

Como resolver isso configurando o Git para armazenar sua senha para você.

Assim:

  • Atualize o URL remoto de "origin" usando o SSH em vez do HTTPS;
git remote set-url origin git@github.com:username/repo.git

ou

  • Faça com que o Git armazene o nome de usuário e a senha e ele jamais pedirá por eles novamente.
git config --global credential.helper store
  • Salvar o nome de usuário e a senha por uma sessão (colocá-los em cache);
git config --global credential.helper cache
  • Também é possível definir um tempo de expiração (timeout) para a configuração acima
git config --global credential.helper 'cache --timeout=600'

Pronto. Você acaba de resolver o problema. O Git não pedirá mais suas credenciais novamente.


CONCLUSÃO

No entanto, por razões de segurança, aconselhamos usar o SSH para interagir com o GitHub, especialmente se você trabalhar para uma empresa ou se estiver usando um computador que não é seu.

Usando o protocolo SSH, você pode se conectar sempre com o GitHub sem fornecer seu nome de usuário e senha.

Saiba como se conectar com o GitHub usando o SSH aqui (em inglês).