Artigo original: https://www.freecodecamp.org/news/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](https://www.freecodecamp.org/portuguese/news/content/images/2022/01/clone.png)
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).