Consegui clonar uma cópia deste repositório através de HTTPS autenticado. Fiz alguns commits e quero voltar ao servidor GitHub. Usando o Cygwin no Windows 7 x64.
C:\cygwin\home\XPherior\Code\lunch_call>git push
Password:
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs
fatal: HTTP request failed
Também configure-o com o modo detalhado. Eu ainda estou bem confusa.
C:\cygwin\home\XPherior\Code\lunch_call>set GIT_CURL_VERBOSE=1
C:\cygwin\home\XPherior\Code\lunch_call>git push
Password:
* Couldn't find host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
* Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
CApath: none
* SSL connection using AES256-SHA
* Server certificate:
* subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: 2011-05-27 00:00:00 GMT
* expire date: 2013-07-29 12:00:00 GMT
* subjectAltName: github.com matched
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
* SSL certificate verify ok.
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
< WWW-Authenticate: Basic realm="GitHub"
<
* Ignoring the response-body
* Expire cleared
* Connection #0 to host github.com left intact
* Issue another request to this URL: 'https://[email protected]/dereker
dmann/lunch_call.git/info/refs?service=git-receive-pack'
* Couldn't find host github.com in the _netrc file; using defaults
* Re-using existing connection! (#0) with host github.com
* Connected to github.com (207.97.227.239) port 443 (#0)
* 0x23cb740 is at send pipe head!
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="GitHub"
* The requested URL returned error: 401
* Closing connection #0
* Couldn't find host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
* Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
CApath: none
* SSL re-using session ID
* SSL connection using AES256-SHA
* old SSL session ID is stale, removing
* Server certificate:
* subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: 2011-05-27 00:00:00 GMT
* expire date: 2013-07-29 12:00:00 GMT
* subjectAltName: github.com matched
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
* SSL certificate verify ok.
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
* The requested URL returned error: 403
* Expire cleared
* Closing connection #0
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs
fatal: HTTP request failed
Estas são as versões do git e curl que tenho:
C:\Users\XPherior>git --version
git version 1.7.4.msysgit.0
C:\Users\XPherior>curl --version
curl 7.21.7 (amd64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp
smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz
Respostas:
Acabei de ter o mesmo problema e descobri qual é a causa.
O Github parece suportar apenas a maneira ssh de ler e gravar o repositório, embora a maneira https também mostre 'Leitura e gravação'.
Então, você precisa alterar sua configuração de repo no seu PC para ssh way:
.git/config
arquivo no diretório repourl=
entrada na seção[remote "origin"]
url=https://[email protected]/derekerdmann/lunch_call.git
paraurl=ssh://[email protected]/derekerdmann/lunch_call.git
. ou seja, altere todos os textos antes do@
símbolo parassh://git
config
arquivo e saia. agora você pode usargit push origin master
para sincronizar seu repositório no GitHubfonte
.git/config
era mais parecidourl=https://github.com/mynickname/my_repo.git
Mas eu também mudeiurl=ssh://[email protected]/mynickname/my_repo.git
e funcionou #git remote set-url
comando Veja minha resposta abaixo.git remote set-url <name> [email protected]:<username>/<repo>.git
Para definitivamente poder fazer login usando o
https
protocolo, você deve primeiro definir sua credencial de autenticação para o URI remoto do git :Em seguida, você será solicitado a fornecer uma senha ao tentar
git push
.De fato, isso está no formato de autenticação http. Você também pode definir uma senha:
Você deve estar ciente de que, se fizer isso, sua senha do github será armazenada em texto sem formatação no diretório .git, o que é obviamente indesejável.
fonte
https://youruser:[email protected]/user/repo.git
apesar não seguroUma pequena adição à resposta de Sean .
Em vez de editar o
.git/config
arquivo manualmente, você pode usar ogit remote set-url
comandoNo seu caso, deve ser:
Acho mais fácil e limpo do que mexer com arquivos de pontos.
fonte
git remote set-url origin ssh://[email protected]:derekerdmann/lunch_call.git
com dois pontos entre o github.com eo nome repoEdite o
.git/config
arquivo no diretório repoLocalizar
url=
entrada na seção[remote "origin"]
Altere de
url=https://github.com/rootux/ms-Dropdown.git
parahttps://[email protected]/rootux/ms-Dropdown.git
onde
USERNAME
está o seu nome de usuário no githubfonte
.git/config
está definido como ` github.com/myrepo/subproject ' .As outras respostas que sugerem a mudança para o SSH meio que perdem o sentido. HTTPS é suportado, mas você deve fazer login com sua senha do GITHUB, não com sua senha SSH (que foi o que estava me dando o mesmo erro exato).
Eu estava tendo o mesmo problema, mas certificar-me de usar minha senha real do GitHub no prompt de senha do terminal corrigiu a solução sem nenhuma alteração na configuração ou recorrendo ao SSH.
O motivo pelo qual é importante observar isso é que muitas instituições públicas (como a minha escola) bloquearão o SSH, mas permitirão o HTTPS (que é o único motivo pelo qual comecei a clonar pelo HTTPS em primeiro lugar).
Espero que ajude qualquer pessoa que tenha o mesmo problema ...
fonte
git push
solicitados au ep, e o resultado é uma permissão negada .... Você sabe o que estou perdendo?Mesmo erro e resolução em Mac OS X.
Tudo estava funcionando bem até eu criar uma nova conta no GitHub e tentar empurrar
E obteve o erro:
remote: permissão para NEWUSER / NEWREPO.git negada para OLDUSER. fatal: não foi possível acessar ' https://github.com/NEWUSER/NEWREPO.git/ ': o URL solicitado retornou o erro: 403
Deveria ter sido corrigido definindo o user.name para repositório global ou atual
Mas isso não aconteceu.
Corrigi o problema excluindo o OLDUSER associado ao GitHub do aplicativo Keychain Access na seção Senhas. Em seguida, o comando push foi bem-sucedido.
referência
fonte
Se você estiver usando o Windows, às vezes isso pode acontecer porque o Windows armazena credenciais para repositório externo (no nosso caso, github) em seu próprio armazenamento. E as credenciais que foram salvas podem ser diferentes daquelas que você precisa no momento.
Portanto, para evitar esse problema, localize o github nesse armazenamento e exclua as credenciais salvas. Depois disso, ao pressionar git, você solicitará suas credenciais e permitirá que você faça o push.
fonte
control panel > user accounts > credential manager > Windows credentials > Generic credentials
" detalhes desta postagem: stackoverflow.com/a/37450495Isso funciona para mim -:
Espero que ajude
fonte
<username>@
anteriormentegithub.com
no URL remoto). Obrigado!Acho que @deepwaters conseguiu a resposta correta para versões mais antigas. O URL HTTPS precisa ter o nome de usuário. Eu tinha o git 1.7.0.4 e
git push origin master
nem sequer pedia uma senha até a adicionar.fonte
Atualize seu git. O GitHub respondeu a esta pergunta em https://help.github.com/articles/error-the-requested-url-returned-error-403 .
fonte
Um código 403 é "Proibido". O servidor viu sua solicitação e a recusou. Você tem permissão para enviar para esse repositório?
fonte
Na verdade, eu tinha uma solução muito simples para isso. Tudo o que fiz foi editar o arquivo de configuração do git de maneira diferente após a clonagem do repositório. O URL de origem remota é o que você precisa editar no seu arquivo de configuração padrão . Deve parecer como visto abaixo
fonte
Descobri isso. Eu clonei sobre HTTPS. Configurando minhas chaves SSH públicas, clonando sobre SSH e pressionando SSH, foi corrigido.
fonte
Depois disso, nosso "Push to Git" funcionou bem.
fonte
Basta adicionar seu nome de usuário ao URL assim: https: //[email protected]/islam9/bootstrap-rtl
verifique: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
fonte
Faça isso para uma correção temporária
git push -u https://username:[email protected]/username/repo_name.git master
fonte
Eu enfrentei o mesmo erro e a causa foi estúpida - não tinha privilégios para confirmar no repositório selecionado. Eu não sabia que tinha que
conforme descrito em https://help.github.com/categories/63/articles
fonte
Para aqueles com permissão negada erro 403 ao usar ssh (de acordo com Xiao ) ou URLs http, tente estes comandos
com direitos de administrador
fonte
git config --global credential.helper store
.mude de
para
Funciona!
Não esqueça o "git" antes do "@".
fonte
git config --global http.proxy http://proxyUsername:[email protected]:port
use o comandogit remote set-url origin
para alternar o endereço.Para qualquer pessoa curiosa, minha máquina mac vs lucid vm executava o git 1.7.6 vs 1.7.0.4, e o mesmo repositório exato era empurrável do meu mac (git mais recente), mas não da VM
Mesma versão de ondulação. Talvez algumas versões mais antigas do git não suportem pushes https?
fonte
url=https://[email protected]/username/repo.git
Adicione o nome de usuário como parte da URL e Este erro ocorre porque o comando git está pressionando http em vez de https. Então defina o URL
Após o qual você será solicitado a senha:
fonte
O que funcionou para mim:
Meu repositório era um garfo e ainda estava vinculado ao repositório dos pais.
Dirá se é o seu repo ou não.
Permite reconfigurá-lo para seu repositório e, em seguida, permitir que você faça o push.
fonte
Nenhuma das respostas acima funcionou para o meu
enterprise
conta do GitHub. Siga estas etapas para enviar por meio da geração de chaves ssh.Crie um repositório visitando sua conta git.
Gere chave ssh:
Copie o conteúdo do arquivo ~ / .ssh / id_rsa.pub para suas chaves SSH nas configurações da sua conta do GitHub. Chave SSH de teste:
Agora vá para a pasta clone do git e faça:
Agora tente editar um arquivo (tente o README) e faça:
Atualização: a nova versão do git parece recomendar não ter nenhum arquivo enquanto um novo repositório é criado. Portanto, faça um repo em branco.
fonte
Eu descobri minha própria variação desse problema.
O problema não foi alterar o protocolo de https para ssl, mas definir o nome de usuário e o email globais do Github! (Eu estava tentando enviar para um repositório privado.
fonte
O Github possui uma página dedicada à solução desse erro:
https://help.github.com/articles/https-cloning-errors
No meu caso, descobriu-se que o uso de uma nova versão do git (1.8.5.2) resolveu esse problema.
fonte
Eu estava com esse problema agora e o arquivo /etc/resolver.conf do servidor tinha um endereço IP incorreto. Pode ajudar os outros.
fonte
Isso aconteceu comigo porque meu colega de trabalho desativou acidentalmente o repositório do qual o repositório foi bifurcado. Apenas verifique se o repositório original do git (hub) ainda existe.
fonte
Pode ser uma questão contábil. A conta Github do proprietário do repositório upstream (privado) pode não ser financeira. Eu vi isso onde o cartão de crédito do cliente expirou.
fonte
o que funcionou para mim está mudando de http para ssh:
depois verifique com
git remote -v
fonte
Eu tive o mesmo problema. Meu caso foi: eu inicializei o repositório git localmente antes de criá-lo no github e tentei adicionar ramificação remota. Resolvi meu problema alterando a ordem das ações: criei um repositório no site do github e o iniciei localmente. Mas não é o caso daqueles que gostam de fazer tudo na linha de comando como eu.
fonte