Estou trabalhando com vários repositórios, mas ultimamente estava apenas trabalhando em nosso interno e tudo foi ótimo.
Hoje tive que confirmar e enviar código para outro, mas estou tendo alguns problemas.
$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed
Não há nada que eu possa fazer, que traga a entrada de senha novamente.
Como posso redefinir as credenciais do meu sistema para que o Git me peça a senha desse repositório?
Eu tentei:
git config --global --unset core.askpass
para desabilitar a senha
git config credential.helper 'cache --timeout=1'
para evitar o cache de credenciais ...
Nada parece funcionar; Alguém tem uma idéia melhor?
windows
git
credentials
balexandre
fonte
fonte
~/.netrc
arquivo?netrc
, que armazenaria várias credenciais em um arquivo criptografado . É melhor do que digitar sua senha todas as vezes para cada sessão, pois o cache apenas "armazena em cache" a senha por um determinado período. Veja um exemplo completo aqui .Respostas:
Se esse problema ocorrer em uma máquina Windows, faça o seguinte.
fonte
credential.helper=manager
. Para testar esse tipogit config --list
. Se estiver definido comostore
, as credenciais não serão armazenadas no armazenamento de credenciais, mas serão armazenadas sem criptografia.git:https://github.com
e fui solicitado a inserir meu nome de usuário / senha na próxima vez em que clonei um repo usando PyCharm. Eu tinha mais de uma conta no Github e a conta errada foi armazenada em cache.Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung
.Credential Manager
. Isso funcionou para mim também403
erro via Bitbucket.O cache de credenciais do Git executa um processo daemon que armazena em cache suas credenciais na memória e as distribui sob demanda. Portanto, matar o processo git-credential-cache - daemon descarta tudo isso e resulta em solicitar novamente sua senha se você continuar a usá-la como a opção cache.helper.
Você também pode desativar o uso do cache de credenciais do Git usando
git config --global --unset credential.helper
. Em seguida, redefina isso e você continuará a ter as credenciais em cache disponíveis para outros repositórios (se houver). Você também pode precisar fazergit config --system --unset credential.helper
isso se isso tiver sido definido no arquivo de configuração do sistema (por exemplo, Git for Windows 2).No Windows, é melhor usar o assistente de gerente (
git config --global credential.helper manager
). Isso armazena suas credenciais no armazenamento de credenciais do Windows, que possui uma interface do Painel de Controle, na qual você pode excluir ou editar suas credenciais armazenadas. Com esta loja, seus detalhes são protegidos pelo login do Windows e podem persistir em várias sessões. O auxiliar de gerente incluído no Git para Windows 2.x substituiu o auxiliar de wincred anterior que foi adicionado no Git for Windows 1.8.1.1. Um auxiliar semelhante chamado winstore também está disponível online e foi usado com o GitExtensions, pois oferece uma interface mais orientada a GUI. O auxiliar do gerente oferece a mesma interface GUI que o winstore .Extraia da página de suporte do Windows 10 detalhando o gerenciador de credenciais do Windows:
E, em seguida, selecione Credenciais do Windows para editar (= remover ou modificar) as credenciais git armazenadas para um determinado URL.
fonte
Control Panel\User Accounts\Credential Manager
sob Windows 7Digite novamente:
E então você será solicitado a inserir suas credenciais novamente.
ATENÇÃO
Fonte: https://git-scm.com/docs/git-credential-store
fonte
.git/config
.Eu enfrentei o mesmo problema que o OP. Como minhas credenciais antigas do Git estavam armazenadas em algum lugar do sistema e eu queria usar o Git com minhas novas credenciais, executei o comando
Mostrou
Sempre que eu realizava
git push
, estava usando meu nome de usuário antigo, que eu recolhi há muito tempo, e queria usar uma nova conta no GitHub para fazer alterações. Mais tarde, descobri que minhas credenciais antigas da conta do GitHub estavam armazenadas em Painel de Controle → Contas de Usuário → Gerenciador de Credenciais → Gerenciar Credenciais do Windows .Acabei de remover essas credenciais e, quando a realizei
git push
, solicitou minhas credenciais do GitHub, e funcionou como um encanto.fonte
Tente usar o comando abaixo.
Aqui você pode obter várias opções para gerenciar suas credenciais (consulte a tela abaixo).
Ou você pode até tentar diretamente este comando:
Isso começará a solicitar senhas novamente em cada solicitação de interação do servidor.
fonte
git: 'credential-manager' is not a git command. See 'git --help'.
removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
(com o bomU_U
emoji do nada :))Eu encontrei algo que funcionou para mim. Quando escrevi meu comentário para o OP, não verifiquei o arquivo de configuração do sistema:
mostra um
linha. Desativei com
e agora as credenciais são esquecidas.
fonte
git config --global --unset credential.helper
e talvez apenasgit config --unset credential.helper
no seu repositório, se você o definiu explicitamente lá.No meu caso, o Git está usando o Windows para armazenar credenciais.
Tudo o que você precisa fazer é remover as credenciais armazenadas na sua conta do Windows:
fonte
será exibido
credential.helper = manager
(isso é em uma máquina Windows)Para desativar esse nome de usuário / senha em cache para sua pasta git local atual, basta digitar
Dessa forma, o git solicitará sempre a senha, ignorando o que é salvo dentro do "gerenciador".
fonte
git: 'credential-' is not a git command. See 'git --help'.
mas por segurança, estou votando esta resposta porque é a única que me levou a ser solicitada uma nova senha. Eu estou querendo saber, no entanto, se isso não é apenas mascarando o problema (se a senha realmente removido?)rm -rf ~/.git-credentials
sim. Note-se que ele pode variar (git help credential-store
)git config --unset credential.helper
limpa a entrada. Essa resposta apenas define como string vazia e produz o erro que o @ribamar descreveu nos comentários.No Windows 2003 Server com "wincred" *, nenhuma das outras respostas me ajudou. Eu tive que usar
cmdkey
.cmdkey /list
lista todas as credenciais armazenadas.cmdkey /delete:Target
exclui a credencial com o nome "Destino".(* Por "wincred", quero dizer
git config --global credential.helper wincred
)fonte
cmdkey
é a contraparte da linha de comando para as credenciais do Windows descritas na resposta escolhida.Este erro aparece quando você está usando várias contas Git na mesma máquina.
Se você estiver usando o macOS, poderá remover as credenciais salvas do github.com .
Siga as etapas abaixo para remover as credenciais do github.com .
Feito
fonte
Precisa fazer login com o respectivo github
username
epassword
Para limpar o nome de usuário e a senha no Windows
Painel de controle \ Contas de usuário \ Credential Manager
Edite as credenciais do Windows
Remova o usuário existente e agora vá ao prompt de comando, escreva o comando push que mostra um pop-up do github para inserir o
username
/email
epassword
.Agora somos capazes de enviar o código depois de mudar de usuário.
fonte
Tenho o mesmo erro ao fazer um 'git pull' e foi assim que eu o corrigi.
git config --system --unset credential.helper
git config --system --add credential.helper manager
git pull
fonte
Remova esta linha do seu arquivo .gitconfig localizado na pasta de usuário atualmente conectado do Windows:
Isso funcionou para mim e agora, quando pressiono para o controle remoto, solicita minha senha novamente.
fonte
Você precisa atualizá-lo em seu Credential Manager.
Vá para Painel de Controle> Contas de Usuário> Credential Manager> Credenciais do Windows. Você verá as credenciais do Git na lista (por exemplo, git: https: //). Clique nele, atualize a senha e execute o comando git pull / push a partir do seu Git bash e ele não emitirá mais mensagens de erro.
fonte
Caso o Git Credential Manager para Windows seja usado (como costumam ser as versões atuais):
Isso foi adicionado em meados de 2016 . Para verificar se o gerenciador de credenciais é usado:
fonte
Usando a versão mais recente do git para Windows no Windows 10 Professional e eu tive um problema semelhante, pelo qual tenho duas contas GitHub diferentes e também uma conta Bitbucket, para que as coisas ficassem um pouco confusas para o VS2017, extensões git e git bash.
Primeiro verifiquei como o git estava lidando com minhas credenciais com este comando (execute o git bash com comandos elevados ou você obterá erros):
Encontrei a entrada Credential Manager e, em seguida, cliquei no botão INICIAR> digitei o Credential Manager e cliquei com o botão esquerdo do mouse no ícone seguro amarelo do gerenciador de credenciais que iniciou o aplicativo. Em seguida, cliquei nas guias Credenciais do Windows e localizei a entrada da minha conta atual do git que era Bit-bucket, então excluí-a.
Mas como não funcionou, o próximo passo foi desabilitar as credenciais e fiz isso no diretório do repositório do meu laptop que contém o projeto GitHub que estou tentando enviar para o controle remoto. Digitei o seguinte comando:
Então eu fiz um push do git e fui solicitado a fornecer um nome de usuário do GitHub que eu digitei (o correto que eu precisava) e, em seguida, a senha associada e tudo foi enviado corretamente.
Não sei ao certo quanto de um problema isso está ocorrendo a maioria das pessoas provavelmente trabalha no repositório único, mas tenho que trabalhar em vários e usando provedores diferentes, para que possam encontrar esse problema novamente.
fonte
No meu caso, não consegui encontrar as credenciais salvas no Windows Credential Manager (Windows 7).
Consegui redefinir minhas credenciais executando
Honestamente, foi uma saudação a Mary ver se isso apagaria minhas credenciais e realmente funcionou.
fonte
Você pode remover a linha
credential.helper=!github --credentials
do arquivo a seguirC:\Program Files\Git\mingw64\etc\gitconfig
para remover as credenciais do gitfonte
C:\Users\<current-user>
.git-credentials
arquivofonte
No Windows, pelo menos,
git remote show [remote-name]
funcionará, por exemplofonte
Se você quiser que o git esqueça as credenciais salvas antigas e insira novamente o nome de usuário e a senha, faça isso usando o comando abaixo:
Depois de executar o comando acima, se você tentar pressionar qualquer coisa, ele fornecerá a opção de inserir nome de usuário e senha.
fonte
O que finalmente corrigiu isso para mim foi usar a área de trabalho do GitHub, acessar as configurações do repositório e remover user: pass @ do URL do repositório. Em seguida, tentei um push na linha de comando e solicitei credenciais de login. Depois que eu os coloquei, tudo voltou ao normal. O Visual Studio e a linha de comando estão funcionando e, é claro, a área de trabalho do GitHub.
Área de trabalho do GitHub-> Repositório-> Configurações do Repositório-> guia Remoto
Altere o Repositório Remoto Principal (origem) de:
https: //pork@[email protected]/MyProject/MyProject.git
Para:
https://github.com/MyProject/MyProject.git
Clique em "Salvar"
As credenciais serão limpas.
fonte
Para usuários do macOS:
Este erro aparece quando você está usando várias contas Git na mesma máquina.
Siga as etapas abaixo para remover as credenciais do github.com.
Selecione o github.com e clique com o botão direito nele
Excluir "github.com"
Tente novamente Empurrar ou Puxar para git e solicitará as credenciais. Digite credenciais válidas para a conta do repositório. Feito
fonte
Para o Windows 10, vá para o caminho abaixo,
Haverá duas guias neste local,
Clique na guia Credenciais do Windows e aqui você pode ver suas credenciais armazenadas no Github, no cabeçalho "Credenciais genéricas".
Você pode removê-los daqui e tentar clonar novamente - ele solicitará o nome de usuário / senha agora, pois acabamos de remover a credencial armazenada dos sistemas Windows 10
fonte
Para limpar o cache do Git Credentials Managers for Windows:
ou
fonte
Tente isso quando nada como mencionado acima estiver funcionando para você.
isso removerá o cache a cada três segundos e solicitará o nome de usuário e a senha. Você pode executar novamente o comando com valores de tempo limite aumentados.
fonte
No nosso caso, limpar a senha no arquivo .git-credentials do usuário funcionou para nós.
fonte
Com base na resposta mais votada de @ patthoyts ( https://stackoverflow.com/a/15382950/4401322 ):
Sua resposta usa, mas não explica, as configurações "local" x "global" x "sistema". A documentação oficial do git para eles está aqui e vale a pena ler.
Por exemplo, eu estou no Linux e não uso uma configuração do sistema , por isso nunca uso um
--system
sinalizador, mas geralmente preciso diferenciar entre--local
e--global
configurações.Meu caso de uso é que eu tenho duas credenciais do Github; um para o trabalho e outro para o jogo.
Aqui está como eu lidaria com o problema:
Também é importante notar que existem maneiras de evitar esse problema completamente, por exemplo, você pode usá-lo
~/.ssh/config
com as chaves SSH associadas ao Github (uma para o trabalho e outra para o play) e hosts remotos com nomes personalizados correspondentes para resolver também a contextualização da autenticação.fonte
Para adicionar ao https://stackoverflow.com/a/41111629/579827 de @ericbn, aqui estão exemplos de comandos incorporados em um script que corro para atualizar todas as minhas senhas sempre que forem renovadas. Provavelmente não é utilizável como está, pois é bastante específico, mas mostra o uso na vida real
cmdkey.exe
.fonte
Se você estiver autenticado usando seu par de chaves, poderá excluir ou mover sua chave privada ou parar o agente de chaves e tentar.
fonte