Os repositórios clonados do GitHub solicitam uma senha, enquanto os criados originalmente não

9

Acabei de perder vários repositórios do meu disco, então os clonei no GitHub. Agora, eles pedem nome de usuário e senha cada vez que enviamos algo para o GitHub. Aqueles que não foram excluídos não fazem isso.
A única solução que li para me livrar do prompt de nome de usuário / senha está gerando a chave ssh. O problema é que eu já tenho uma chave, caso contrário eu não poderia pressionar sem avisos nesses repositórios, que não clonei.

Eu olhei git configpara dois dos meus repositórios, um que eu posso enviar sem senha e outro que eu clonei. A única diferença era branch.master.remotee branch.master.mergeconfigurações, que eu desabilitei, fazendo git configo mesmo. Mas o prompt ainda está lá.

Não tenho certeza de que a geração da nova chave ssh funcione. Quais são as minhas opções?

usr
fonte
Por favor, consulte help.github.com/ssh-issues e dê mais detalhes. O que acontece quando você tenta fazer o SSH?

Respostas:

21

Meu palpite:

Seus repositórios antigos usavam controles remotos SSH ( [email protected]:ou ssh://[email protected]/prefixos), que usavam autenticação de chave pública. (De fato, o servidor SSH do Github nunca solicita uma senha.)

Seus novos repositórios usam controles remotos HTTP ( ), que suportam apenas a autenticação HTTP Basic baseada em senha e não usam suas chaves SSH.https://username@github.com/

Altere seus URLs remotos para usar o SSH novamente. Use git remote set-urlou edite .git/configpara fazer isso. Substituir

https: // nomedeusuário @ github.com / nomedeusuário /repo.git

com apenas

[email protected]: nome de usuário /repo.git

Você pode até ter uma entrada no seu ~/.gitconfigque diga ao git para converter URLs remotas de HTTP ou Git para SSH.

Dessa forma, se o seu repositório estiver configurado para um controle remoto HTTP ou Git, o git ignorará essa configuração ao pressionar e usará o SSH.

[url "[email protected]:"]
    pushInsteadOf = git://github.com/
    pushInsteadOf = https://github.com/

(Uma insteadOf =configuração também é possível, para substituir tanto puxar quanto empurrar.)

user1686
fonte