Estou trabalhando com um repositório no GitHub e sempre que tento enviar algo, ele solicita meu nome de usuário e senha do GitHub. Eu não quero fazer isso.
Eu tentei as instruções sobre como configurar seu email no Git , ou seja, configurar as variáveis do Git github.user e github.token, mas isso não fez nenhuma diferença.
Não entendo por que isso está acontecendo.
Respostas:
Você precisa configurar um agente ssh no qual você precisa se autenticar apenas uma vez. Veja esta resposta em SO para um tutorial.
fonte
Hoje tive um problema semelhante: eu estraguei tudo na minha cópia de trabalho, então decidi renomear o diretório e clonar meu projeto novamente no github. Mas, depois disso, tive que digitar minha senha para fazer qualquer solicitação pull / push, em vez de digitar a senha apenas uma vez como costumava fazer.
Isso porque hoje eu usei o protocolo https para clonar o projeto! Para verificar qual protocolo você está usando, basta executar
e veja a linha que começa com 'remote.origin.url'.
Para alternar protocolos:
the_repository_username
eyour_project
deve ser substituído pelo nome do repositório apropriado e o proprietário desse repositório. O nome de usuário será seu se você for o proprietário do repositório ou o nome de usuário do proprietário do repositório caso contrário.fonte
[email protected]:some-user/repo-name.git
remote.origin.url
conjunto para o método https e nem percebi que havia métodoshttps
vs.ssh
Esta URL me ajudou a ver o óbvio: help.github.com/articles/…git config remote.origin.url ...
usados acima, vs.git remote set-url origin ...
?git remote rm origin
Se você estiver usando HTTPS em vez de SSH, poderá seguir isto:
Encontre seu URL remoto (remote.origin.url) com
graças a Sergio Morstabilini
Seu URL remoto será assim: https: // {USERNAME} @ github.com / {USERNAME} / {REPONAME} .git
Execute este comando:
fonte
@
, não funcionou para mim..git/config
arquivo!Prefiro usar HTTPS, acho mais fácil e seguro do que configurar as chaves ssh.
Usando HTTPS, você pode impedir que o git solicite ao seu nome de usuário controles remotos do github com o seguinte:
E você pode pelo menos reduzir a frequência que o git solicita sua senha com:
Onde 28800 são 8 horas. Eu uso essa configuração para inserir minha senha apenas uma vez, quando inicio meu dia útil.
Depois disso, você terá essas entradas dentro do seu
~/.gitconfig
Fonte:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
fonte
Quando você configura uma chave ssh para o github, se ela não for a chave padrão, você precisará adicionar uma seção ao seu
~/.ssh/config
fonte
Se você estiver no Windows usando HTTPS, tente o Git Credential Store - ele usa o Windows Credential Store para armazenar seu nome e senha.
Da próxima vez que você digitar seu nome e senha, eles serão lembrados por você.
fonte
Além disso, se você deseja que sua senha seja solicitada todas as vezes, mas não apenas seu nome de usuário, configure o controle remoto como HTTPS com um nome de usuário.
Depois disso, você sempre será solicitado a fornecer sua senha, mas não o seu nome de usuário.
É assim que eu prefiro, pois gosto de ser forçado a digitar minha senha do github antes de compartilhar com o mundo.
fonte
As coisas são um pouco diferentes se você estiver usando autenticação de dois fatores como eu. Como não encontrei uma boa resposta em outro lugar, colocarei uma aqui para que talvez eu possa encontrá-la mais tarde.
Se você estiver usando autenticação de dois fatores, a especificação de nome de usuário / senha não funcionará - você terá acesso negado. Mas você pode usar um token de acesso ao aplicativo e usar o assistente de credencial do git para armazená-lo em cache. Aqui estão os links pertinentes:
E não me lembro de onde vi isso, mas quando você solicita seu nome de usuário, é onde você coloca o token de acesso ao aplicativo. Em seguida, deixe a senha em branco. Trabalhou no meu mac.
fonte
use SSH
Para impedir que o GitHub peça a senha enquanto pressiona, o ideal é usar SSH (
[email protected]:...
) em vez do URL HTTPS (https://github.com/...
) e adicionar sua chave SSH à sua conta do GitHub . Consulte: Qual URL remoto devo usar?um ajudante de credencial
Caso contrário, se você realmente precisar usar HTTPS, para armazenar em cache sua senha do GitHub no Git , use um auxiliar de credencial para dizer ao Git para lembrar seu nome de usuário e senha do GitHub toda vez que conversar com o GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
é obrigatório),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Outro método é usar a configuração de seu usuário / senha
~/.netrc
(_netrc
no Windows), por exemploOAuth
Use o token OAuth ( token da API pessoal ) para enviar as alterações, por exemplo
Relacionado:
fonte
Além disso, se você estiver usando o Windows, poderá usar:
você só precisa entrar mais uma vez e o git se lembrará.
fonte
Pedir o nome de usuário é chato para mim, mas pedir uma senha é bom, pois garante que você realmente deseja tornar público suas alterações ...
Então eu apenas adiciono isso ao meu ".gitconfig"
fonte
Use o Git Credential Manager para Windows , se você estiver no Windows.
Basta baixar a versão mais recente e instalar.
fonte