Udało mi się sklonować kopię tego repozytorium za pomocą uwierzytelnionego protokołu HTTPS. Dokonałem kilku zmian i chcę wypchnąć z powrotem na serwer GitHub. Korzystanie z Cygwin w systemie 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
Skonfiguruj również w trybie pełnym. Nadal jestem dość zaskoczona.
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
Oto wersje git i curl, które mam:
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
Odpowiedzi:
Właśnie dostałem ten sam problem i właśnie zorientowałem się, co jest przyczyną.
Wydaje się, że Github obsługuje tylko ssh do odczytu i zapisu repozytorium, chociaż sposób https wyświetlał także „Read & Write”.
Musisz więc zmienić konfigurację repo na komputerze na ssh:
.git/config
plik w swoim katalogu repourl=
wpis w sekcji[remote "origin"]
url=https://[email protected]/derekerdmann/lunch_call.git
naurl=ssh://[email protected]/derekerdmann/lunch_call.git
. to znaczy zmień wszystkie teksty wcześniej@
symbolem nassh://git
config
plik i wyjdź. teraz możesz użyćgit push origin master
do synchronizacji repozytorium w GitHubźródło
.git/config
był bardziej jakurl=https://github.com/mynickname/my_repo.git
Ale zmieniłem to tak jakurl=ssh://[email protected]/mynickname/my_repo.git
i to załatwiło sprawęgit remote set-url
polecenia. Zobacz moją odpowiedź poniżej.git remote set-url <name> [email protected]:<username>/<repo>.git
Aby zdecydowanie móc zalogować się przy użyciu
https
protokołu, najpierw ustaw poświadczenie uwierzytelniania w zdalnym URI git :Następnie będziesz proszony o hasło podczas próby
git push
.W rzeczywistości jest to format uwierzytelniania HTTP. Możesz także ustawić hasło:
Powinieneś pamiętać, że jeśli to zrobisz, twoje hasło do github zostanie zapisane w postaci zwykłego tekstu w katalogu .git, co jest oczywiście niepożądane.
źródło
https://youruser:[email protected]/user/repo.git
mimo że nie jest bezpieczneJeden mały dodatek do odpowiedzi Seana .
Zamiast
.git/config
ręcznie edytować plik, możesz użyćgit remote set-url
polecenia.W twoim przypadku powinno to być:
Uważam, że jest to łatwiejsze i czystsze niż grzebanie w plikach kropkowych.
źródło
git remote set-url origin ssh://[email protected]:derekerdmann/lunch_call.git
dwukropka między github.com a nazwą repoEdytuj
.git/config
plik w swoim katalogu repoZnajdź
url=
wpis w sekcji[remote "origin"]
Zmień to z
url=https://github.com/rootux/ms-Dropdown.git
nahttps://[email protected]/rootux/ms-Dropdown.git
gdzie
USERNAME
jest twoja nazwa użytkownika githubźródło
.git/config
ustawiony jest na ` github.com/myrepo/subproject ' .Inne odpowiedzi, które sugerują przejście na SSH, nie trafiają w sedno. Obsługiwany jest protokół HTTPS, ale musisz zalogować się przy użyciu hasła GITHUB, a nie hasła SSH (co było tym samym błędem).
Miałem ten sam problem, ale upewnienie się, że użyję mojego rzeczywistego hasła GitHub po pytaniu o hasło terminala, naprawiło rozwiązanie bez zmiany konfiguracji lub uciekania się do SSH.
Powodem, dla którego warto to zauważyć, jest to, że wiele instytucji publicznych (takich jak moja szkoła) blokuje SSH, ale zezwala na HTTPS (to jedyny powód, dla którego zacząłem klonować przez HTTPS).
Mam nadzieję, że pomoże to każdemu, kto ma ten sam problem ...
źródło
git push
monit o au i p, a wynikiem jest odmowa zgody ... Czy wiesz, czego mi brakuje?Ten sam błąd i rozdzielczość w systemie Mac OS X.
Wszystko działało dobrze, dopóki nie utworzyłem nowego konta na GitHub i próbowałem pchać
I dostał błąd:
zdalne: Odmowa dostępu do NEWUSER / NEWREPO.git dla OLDUSER. krytyczny: nie można uzyskać dostępu do „ https://github.com/NEWUSER/NEWREPO.git/ ”: Żądany adres URL zwrócił błąd: 403
Powinno to zostać naprawione poprzez ustawienie user.name na globalne lub bieżące repo
Ale tak nie było.
Naprawiłem to, usuwając OLDUSERA skojarzonego z GitHub z aplikacji Keychain Access w sekcji Hasła. Następnie polecenie wypychania zakończyło się powodzeniem.
odniesienie
źródło
Jeśli używasz systemu Windows, czasami może się tak zdarzyć, ponieważ system Windows przechowuje poświadczenia zewnętrznego repo (w naszym przypadku github) we własnym magazynie. Zapisane poświadczenia mogą się różnić od potrzebnych w tej chwili.
Aby uniknąć tego problemu, po prostu znajdź github w tym magazynie i usuń zapisane poświadczenia. Następnie podczas pchania git poprosi o podanie poświadczeń i pozwoli ci pchać.
źródło
control panel > user accounts > credential manager > Windows credentials > Generic credentials
” szczegóły z tego postu: stackoverflow.com/a/37450495To działa dla mnie -:
Mam nadzieję, że to pomoże
źródło
<username>@
wcześniejgithub.com
w zdalnym adresie URL). Dziękuję Ci!Myślę, że @deepwaters uzyskało prawidłową odpowiedź dla starszych wersji. Adres URL HTTPS musi mieć nazwę użytkownika. Miałem git 1.7.0.4 i
git push origin master
nawet nie prosiłem o hasło, dopóki go nie dodam .źródło
Uaktualnij swojego gita. GitHub odpowiedział na to pytanie na stronie https://help.github.com/articles/error-the-requested-url-returned-error-403 .
źródło
Kod 403 to „Zabronione”. Serwer zobaczył twoje żądanie i odrzucił je. Czy masz uprawnienia do wypychania do tego repozytorium?
źródło
Naprawdę miałem bardzo prostą naprawę tego. Wszystko, co zrobiłem, to zmodyfikowałem plik konfiguracyjny git inaczej po sklonowaniu repozytorium. Adres URL zdalnego pochodzenia jest tym, co musisz edytować w domyślnym pliku konfiguracyjnym . Powinno to wyglądać jak poniżej
źródło
Domyśliłam się. Sklonowałem przez HTTPS. Naprawiłem to, konfigurując moje publiczne klucze SSH, klonując przez SSH i przesuwając przez SSH.
źródło
Po tym nasz „Push to Git” działał dobrze.
źródło
Wystarczy dodać swoją nazwę użytkownika do adresu URL w następujący sposób: https: //[email protected]/islam9/bootstrap-rtl
proszę sprawdzić: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
źródło
Zrób to, aby uzyskać tymczasową poprawkę
git push -u https://username:[email protected]/username/repo_name.git master
źródło
Napotkałem ten sam błąd, a przyczyna była głupia - nie miałem uprawnień do zatwierdzenia wybranego repozytorium. Nie wiedziałem, że muszę
zgodnie z opisem w https://help.github.com/categories/63/articles
źródło
Dla tych, którzy mają odmowę dostępu, błąd 403 podczas korzystania z ssh (zgodnie z Xiao ) lub adresów URL http, wypróbuj te polecenia
z uprawnieniami administratora
źródło
git config --global credential.helper store
.zmień to z
do
To działa!
Nie zapomnij o „git” przed „@”.
źródło
git config --global http.proxy http://proxyUsername:[email protected]:port
następnie użyj polecenia,git remote set-url origin
aby zmienić adres.Dla każdego, kto jest ciekawy, mój komputer Mac vs lucid vm działał na git 1.7.6 vs 1.7.0.4, a dokładnie to samo repo można było wypchnąć z mojego mac (nowszy git), ale nie VM
Ta sama wersja curl. Być może niektóre starsze wersje git nie obsługują wypychania https?
źródło
url=https://[email protected]/username/repo.git
Dodaj nazwę użytkownika jako część adresu URL, a ten błąd występuje, ponieważ polecenie git uderza http zamiast https. Więc ustaw adres URL
Następnie zostaniesz poproszony o podanie hasła:
źródło
Co dla mnie zadziałało:
Moje repozytorium było rozwidleniem i nadal było powiązane z repozytorium rodziców.
Powie ci, czy to twoje repozytorium, czy nie.
Pozwala przekonfigurować go do repozytorium, a następnie pozwolić na push.
źródło
Żadna z powyższych odpowiedzi nie działała na moim
enterprise
koncie GitHub. Postępuj zgodnie z tymi krokami w celu wypychania poprzez sposób generowania klucza ssh.Utwórz repo, odwiedzając swoje konto git.
Wygeneruj klucz ssh:
Skopiuj zawartość pliku ~ / .ssh / id_rsa.pub do kluczy SSH w ustawieniach konta GitHub. Testuj klucz SSH:
Teraz przejdź do folderu git clone i wykonaj:
Teraz spróbuj edytować plik (wypróbuj README), a następnie:
Aktualizacja: wydaje się, że nowa wersja git zaleca, aby nie mieć żadnego pliku podczas tworzenia nowego repozytorium. Dlatego wykonaj puste repo.
źródło
Wymyśliłem własną odmianę tego problemu.
Problemem nie była zmiana protokołu z https na ssl, ale zamiast tego ustawienie globalnej nazwy użytkownika i adresu e-mail Github! (Próbowałem pchnąć do prywatnego repozytorium.
źródło
Github ma stronę poświęconą rozwiązywaniu tego problemu:
https://help.github.com/articles/https-cloning-errors
W moim przypadku okazało się, że użycie nowej wersji git (1.8.5.2) rozwiązało ten problem.
źródło
Miałem teraz ten problem i okazało się, że mój plik /etc/resolver.conf na serwerze miał zły adres IP. Może pomóc innym.
źródło
Stało się tak, ponieważ mój współpracownik przypadkowo wyłączył repozytorium, z którego zostało ono utworzone. Wystarczy sprawdzić, czy oryginalne repozytorium git (hub) nadal istnieje.
źródło
Może to być problem księgowy. Konto Github właściciela nadrzędnego (prywatnego) repozytorium może nie być finansowe. Widziałem to, gdy wygasła karta kredytowa klienta.
źródło
to, co zadziałało, zmieniło się z http na ssh:
następnie sprawdź to za pomocą
git remote -v
źródło
Miałem ten sam problem. Mój przypadek to: zainicjowałem git repo lokalnie, zanim utworzyłem go na github, a następnie próbowałem dodać zdalną gałąź. Rozwiązałem problem, zmieniając kolejność działań: utworzyłem repo na stronie github, a następnie zainicjowałem go lokalnie. Ale nie jest tak w przypadku tych, którzy lubią robić wszystko z wiersza poleceń jako ja.
źródło