Armazenando nome de usuário e senha no Git


18

Quando eu faço

git push

Eu recebo o prompt de comando como

Username for 'https://github.com':

então eu insiro meu nome de usuário manualmente como

Username for 'https://github.com': myusername

depois clico Entere recebo a solicitação da minha senha

Password for 'https://myusername@github.com':

Quero que o nome de usuário seja escrito automaticamente, em vez de ter que digitá-lo manualmente o tempo todo.

Tentei fazê-lo, xdotoolmas não deu certo.

Eu já fiz

git config --global user.name myusername
git config --global user.email myemail@gmail.com

mas ainda assim sempre me pede para digitar manualmente


você sabe que pode armazenar credenciais com o git, certo?
Diego Roccia

Você deve configurar uma chave SSH no GitHub e usá-la.
Stephen Kitt

@ DiegoRoccia sim, mencionou isso também na pergunta, mas não ajuda.
GypsyCosmonaut

Você pode usar como git config credential.helper storedescrito aqui: stackoverflow.com/questions/11403407/… Nesse caso, você não armazena a senha em texto não criptografado no URL de origem, mas em um arquivo em seu perfil. (Também não criptografado)
Oleg Rudenko

Respostas:


12

Na verdade, o que você fez lá foi configurar as informações do autor, apenas para os commits. Você não armazenou as credenciais. credenciais podem ser armazenadas de duas maneiras:

  1. usando as funções de credencial git: https://git-scm.com/docs/git-credential-store
  2. altere o URL de origem para " https: // nome do usuário: senha@github.com ".
  3. uma terceira alternativa é usar uma chave ssh (como disse @StephenKitt). Para a configuração do github, você pode encontrar todas as informações necessárias na página de ajuda do GitHub

adicionar nome de usuário e senha ao URL de origem não é bom por motivos de segurança, mas se você se sentir seguro, esse é o melhor caminho.
kodmanyagha

21

No Terminal, digite o seguinte para ativar a memória credencial:

$ git config --global credential.helper cache

Você pode atualizar o tempo limite padrão do cache de senha (em segundos):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

Você também pode usar (mas use aspas simples , caso contrário, aspas duplas podem quebrar para alguns caracteres):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.