Ik heb een kopie van deze opslagplaats kunnen klonen via HTTPS-authenticatie. Ik heb een aantal commits gedaan en wil terug naar de GitHub-server pushen. Cygwin gebruiken op 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
Stel het ook in met de uitgebreide modus. Ik ben nog steeds behoorlijk verbijsterd.
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
Dit zijn de versies van git en curl die ik heb:
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
Antwoord 1, autoriteit 100%
Ik heb net hetzelfde probleem en ben er net achter wat de oorzaak is.
Github lijkt alleen de ssh-manier te ondersteunen om de repo te lezen en te schrijven, hoewel de https-manier ook ‘Read&Write’ weergeeft.
Dus u moet uw repo-configuratie op uw pc wijzigen in ssh-manier:
- bewerk
.git/config
bestand onder je repo-directory - vind
url=
vermelding onder sectie[remote "origin"]
- wijzig het van
url=https://[email protected]/derekerdmann/lunch_call.git
in[email protected]/derekerdmann/lunch_call.git
. dat wil zeggen, verander alle teksten voor het@
symbool inssh://git
- Sla het bestand
config
op en sluit af. nu zou jegit push origin master
kunnen gebruiken om je repo op GitHub te synchroniseren
Antwoord 2, autoriteit 53%
Om zeker te kunnen inloggen met het https
protocol, moet je eerst je authenticatie referentieinstellen op de git Remote URI:
git remote set-url origin https://[email protected]/user/repo.git
Vervolgens wordt u om een wachtwoord gevraagd wanneer u probeert te git push
.
In feite is dit in het http-authenticatieformaat. U kunt ook een wachtwoord instellen:
https://youruser:[email protected]/user/repo.git
Je moet er rekening mee houden dat als je dit doet, je github-wachtwoord in platte tekst wordt opgeslagen in je .git-map, wat uiteraard ongewenst is.
Antwoord 3, autoriteit 14%
Een kleine toevoeging aan Sean’s antwoord.
In plaats van het .git/config
bestand handmatig te bewerken, kun je het git remote set-url
commando gebruiken.
In jouw geval zou het moeten zijn:
git remote set-url origin ssh://[email protected]/derekerdmann/lunch_call.git
Ik vind het makkelijker en overzichtelijker dan rommelen met dot-files.
Antwoord 4, autoriteit 7%
Bewerk .git/config
bestand onder je repo directory
Vind url=
item onder sectie [remote "origin"]
Verander het van url=https://github.com/rootux/my-repo.git
in
https://[email protected]/rootux/my-repo.git
waar USERNAME
je github-gebruikersnaam is
Antwoord 5, autoriteit 5%
De andere antwoorden die suggereren over te schakelen naar SSH slaan de plank mis. HTTPS wordt ondersteund, maar je moet inloggen met je GITHUB-wachtwoord, niet je SSH-wachtwoordzin (wat me exact dezelfde fout gaf).
Ik had hetzelfde probleem, maar door ervoor te zorgen dat ik mijn echte GitHub-wachtwoord gebruikte bij de prompt voor het wachtwoord van de terminal, werd de oplossing opgelost zonder de configuratie te wijzigen of mijn toevlucht te nemen tot SSH.
De reden dat het belangrijk is om dit op te merken, is dat veel openbare instellingen (zoals mijn school) SSH zullen blokkeren, maar HTTPS toestaan (wat de enige reden is waarom ik in de eerste plaats ben begonnen met klonen via HTTPS).
Ik hoop dat dit iemand anders met hetzelfde probleem helpt…
Antwoord 6, autoriteit 4%
Als u Windows gebruikt, kan dit soms gebeuren omdat Windows de inloggegevens voor de externe repo (in ons geval github) opslaat in zijn eigen opslag. En de inloggegevens die daar zijn opgeslagen, kunnen verschillen van de gegevens die u nu nodig heeft.
Dus om dit probleem te voorkomen, zoek je github in deze opslag en verwijder je opgeslagen inloggegevens. Hierna zal git tijdens het pushen om je inloggegevens vragen en je toestaan om te pushen.
Antwoord 7, autoriteit 3%
Dezelfde fout en oplossing op Mac OS X.
Alles werkte prima totdat ik een nieuw account op GitHubaanmaakte en probeerde te pushen
$ git push -u origin master
En kreeg de foutmelding:
remote: Toestemming voor NEWUSER/NEWREPO.git geweigerd aan OLDUSER. fataal: geen toegang tot https://github.com/NEWUSER/NEWREPO.git/‘: De gevraagde URL retourneerde fout: 403
Het zou opgelost moeten zijn door de gebruikersnaam in te stellen voor een globale of huidige repo
$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER
Maar dat gebeurde niet.
Ik heb het opgelost door de OLDUSER die is gekoppeld aan GitHub uit de Keychain Access-app te verwijderenin het gedeelte Wachtwoorden. Daarna is het push-commando gelukt.
$ git push -u origin master
Antwoord 8, autoriteit 2%
Dit werkt voor mij -:
git remote set-url origin https://[email protected]/user/repo.git
Hopelijk helpt het
Antwoord 9, autoriteit 2%
Ik denk dat @deepwaters het juiste antwoord had voor oudere versies. De HTTPS-URL moet de gebruikersnaam hebben. Ik had git 1.7.0.4 en git push origin master
vroeg niet eens om een wachtwoord totdat ik het had toegevoegd.
Antwoord 10, autoriteit 2%
Upgrade je git. GitHub heeft deze vraag beantwoord op https://help.github.com/articles/ error-the-requested-url-returned-error-403.
Antwoord 11, autoriteit 2%
Een 403-code is ‘Verboden’. De server heeft uw verzoek gezien en geweigerd. Heb je toestemming om naar die repository te pushen?
Antwoord 12
Ik heb het bedacht. Ik heb gekloond via HTTPS. Het instellen van mijn openbare SSH-sleutels, het klonen over SSH en het pushen van SSH loste het op.
Antwoord 13
Ik had hier eigenlijk een heel eenvoudige oplossing voor. Het enige wat ik deed was het git-configuratiebestand anders bewerken na het klonen van de repository. De externe bron-URL is wat u moet bewerken in uw standaard config-bestand. Het zou eruit moeten zien zoals hieronder te zien is
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://*username*@github.com/*username*/*repository*.git
[branch "master"]
remote = origin
merge = refs/heads/master
Antwoord 14
- Klik op uw repository
- Klik aan de rechterkant op “Instellingen”
- Klik in het optiepaneel aan de linkerkant op ‘Bijdragers’
- Voeg de naam van de persoon toe die je kent in GitHub
- Klik op ‘Bijdragers toevoegen’
Hierna werkte onze “Push to Git” prima.
Antwoord 15
Doe dit voor een tijdelijke oplossing
git push -u https://username:[email protected]/username/repo_name.git master
Antwoord 16
Ik kreeg te maken met dezelfde fout en de oorzaak was dom – ik had geen rechten om me te committeren aan de geselecteerde repository. Ik wist niet dat ik
- vork eerst geselecteerd project
- repository lokaal klonen
- mijn wijzigingen lokaal doorvoeren
- druk wijzigingen door in mijn github-kloon
- pull-verzoek aan upstream vragen
zoals beschreven in https://help.github.com/categories/63/articles
Antwoord 17
Voeg je gebruikersnaam als volgt toe aan de URL:
https://[email protected]/islam9/bootstrap-rtl
controleer alstublieft:
http: //islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
Antwoord 18
Voor degenen die toestemming hebben geweigerd 403fout tijdens het gebruik van ssh(volgens Xiao) of httpurl’s
probeer deze commando’s
>git config --global --unset-all credential.helper
>git config --unset-all credential.helper
met beheerdersrechten
>git config --system --unset-all credential.helper
Antwoord 19
Geen van de bovenstaande antwoorden werkte voor mijn enterprise
GitHub-account. Volg deze stappen om te pushen via ssh-sleutelgeneratie.
Maak een opslagplaats door naar uw git-account te gaan.
Ssh-sleutel genereren:
ssh-keygen -t rsa -C "[email protected]"
Kopieer de inhoud van het bestand ~/.ssh/id_rsa.pub naar uw SSH-sleutels in uw GitHub-accountinstellingen.
SSH-sleutel testen:
ssh -T [email protected]
clone the repo:
git clone git://github.com/username/your-repository
Cd nu naar je git clone-map en doe:
git remote set-url origin [email protected]:username/your-repository.git
Probeer nu een bestand te bewerken (probeer de README) en doe dan:
git add -A
git commit -am "my update msg"
git push -u origin master
Update: nieuwe git-versie lijkt aan te bevelen om geen bestand te hebben terwijl een nieuwe repo wordt gemaakt. Maak daarom een lege repo.
Antwoord 20
wijzig het van
url=https://[email protected]/derekerdmann/lunch_call.git
naar
url=ssh://[email protected]/derekerdmann/lunch_call.git
Het werkt!
Vergeet de “git” voor de “@” niet.
Antwoord 21
Hieronder staat de oplossing
Voor Windows vindt u de toetsen hier:
bedieningspaneel > gebruikersaccounts > referentiemanager > Windows-referenties > Algemene referenties
Verwijder vervolgens de Github-sleutels.
In mac
1-Zoek in Finder naar de app Sleutelhangertoegang.
2Zoek in Sleutelhangertoegang naar github.com.
3-Zoek het “internetwachtwoord”-item voor github.com.
4-Bewerk of verwijder de invoer dienovereenkomstig.
Antwoord 22
Voor iedereen die nieuwsgierig is, mijn mac-machine versus lucide vm draaide git 1.7.6 versus 1.7.0.4, en exact dezelfde repo was pushbaar vanaf mijn mac (nieuwere git) maar niet de VM
Dezelfde krulversie. Misschien ondersteunen sommige oudere git-versies geen https-push?
Antwoord 23
Voeg de gebruikersnaam toe als onderdeel van de URL en deze fout treedt op omdat het git-commando http raakt in plaats van https. Dus stel de url in
git remote set-url origin https://<username>@github.com/Path_to_repo.git
Hierna wordt u om een wachtwoord gevraagd:
Antwoord 24
Wat voor mij werkte:
Mijn repo was een forken nog steeds gekoppeld aan de repo van de ouders.
git remote -v
Zal u vertellen of het uw repo is of niet.
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git
Hiermee kunt u het opnieuw configureren in uw repo en vervolgens pushen.
Antwoord 25
Ik heb mijn eigen variant van dit probleem bedacht.
Het probleem was niet het wijzigen van het protocol van https in ssl, maar in plaats daarvan
de Github globale gebruikersnaam en e-mail instellen! (Ik probeerde te duwen naar een
privé repository.
git config --global user.email "[email protected]"
git config --global user.name "Your full name"
Antwoord 26
Github heeft een pagina gewijd aan het oplossen van deze fout:
https://help.github.com/articles/https-cloning-errors
In mijn geval bleek dat het gebruik van een nieuwe versie van git (1.8.5.2) dit probleem oploste.
Antwoord 27
Iedereen die zijn probleem niet met deze oplossingen heeft opgelost, volgt deze thread:
“Dit gebeurt wanneer twee git-accounts op dezelfde machine worden gebruikt”
https://stackoverflow.com/a/52046047/7861886
het heeft een Windows-oplossing en ik heb ook een Mac-oplossing voor Mac-gebruikers toegevoegd in opmerkingen.
Antwoord 28
Ik had dit probleem nu, en het bleek dat mijn server /etc/resolver.conf-bestand een slecht ip-adres had. Kan anderen helpen.
Antwoord 29
Dit is mij overkomen omdat mijn collega per ongeluk de repository heeft uitgeschakeld waaruit deze repository is afgeleid. Controleer misschien of de originele git(hub)-repo nog steeds bestaat.
Antwoord 30
Het kan een boekhoudkundig probleem zijn. Het Github-account van de upstream (particuliere) repo-eigenaar is mogelijk niet financieel. Ik heb dit gezien waar de creditcard van de klant is verlopen.