Pushing an Git Rückgabe des Fehlercodes 403 schwerwiegend: HTTP-Anforderung fehlgeschlagen

634

Ich konnte eine Kopie dieses Repos über HTTPS authentifiziert klonen. Ich habe einige Commits gemacht und möchte wieder auf den GitHub-Server zugreifen. Verwenden von Cygwin unter 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

Richten Sie es auch im ausführlichen Modus ein. Ich bin immer noch ziemlich verblüfft.

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

Dies sind die Versionen von Git und Curl, die ich habe:

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
Mike
quelle
3
Schauen Sie sich den Kommentar an, der als Antwort veröffentlicht werden sollte. Hat es mit 1.7.1 funktionieren lassen, hatte auch das Problem mit der fehlenden Benutzer- / Passwort-Eingabeaufforderung. Requisiten an stackoverflow.com/a/9575906/805284 ...
sjas
2
Überprüfen Sie, ob der Benutzer Lese- / Schreibzugriff auf das Repository hat
Céline Aussourd
22
Fügen Sie in Zukunft nicht "Authorization: Basic <stuff>" ein, wenn Sie Beispiel-http-Header anzeigen. Es ist einfach, das von base64 zu dekodieren und Ihr Passwort zu erhalten. @mike: Wenn Sie Ihr Github-Passwort seit dem Posten dieser Frage nicht mehr geändert haben, würde ich Ihnen vorschlagen, dies zu tun.
FlipMcF
4
@FlipMcF Danke Mann. War nicht bewusst. Passwort geändert.
Mike
6
@ Mike NP. Jetzt kann ich schamlos für einen kleinen Blog werben, den ich darauf geschrieben habe: goo.gl/bpae94
FlipMcF

Antworten:

836

Ich habe gerade das gleiche Problem und habe gerade herausgefunden, was die Ursache ist.

Github scheint nur die SSH-Methode zum Lesen und Schreiben des Repos zu unterstützen, obwohl die https-Methode auch "Lesen und Schreiben" anzeigt.

Sie müssen also Ihre Repo-Konfiguration auf Ihrem PC auf ssh ändern:

  1. bearbeiten .git/config Datei in Ihrem Repo-Verzeichnis
  2. finden url= Eintrag unter Abschnitt[remote "origin"]
  3. ändere es von url=https://[email protected]/derekerdmann/lunch_call.gitzu url=ssh://[email protected]/derekerdmann/lunch_call.git. Ändern Sie also alle Texte vor dem @Symbol inssh://git
  4. Save - configDatei und beenden. Jetzt können Sie git push origin masterIhr Repo auf GitHub synchronisieren
Xiao
quelle
56
Dies tritt häufig auf, wenn Sie mit der schreibgeschützten git-Adresse (die Standardeinstellung, wenn Sie nicht angemeldet sind) anstelle der ssh-Adresse zum Lesen und Schreiben klonen.
Nitrodist
43
Mein .git/configwar eher wie url=https://github.com/mynickname/my_repo.gitAber ich habe es auch so geändert url=ssh://[email protected]/mynickname/my_repo.gitund es hat den Trick gemacht
Guillaume Flandre
12
Sie können eine Repo-URL mit dem git remote set-urlBefehl ändern . Siehe meine Antwort unten.
Fetsh
7
oder ändern Sie es einfach über die Befehlszeile mitgit remote set-url <name> [email protected]:<username>/<repo>.git
iGbanam
42
Wenn Sie nach einer Nicht-SSH-Lösung suchen, lesen Sie hier einige der anderen Antworten. Das Hinzufügen Ihres Benutzernamens zur https-URL scheint zu funktionieren. (Ändern Sie die Konfigurations-URL so, dass https: // @ github.com / ... [email protected] / ... ist. )
Cyrus
430

Um sich definitiv mit dem httpsProtokoll anmelden zu können , sollten Sie zuerst Ihren Authentifizierungsnachweis auf den git Remote-URI setzen :

git remote set-url origin https://[email protected]/user/repo.git

Dann werden Sie beim Versuch nach einem Passwort gefragt git push .

Tatsächlich ist dies das http-Authentifizierungsformat. Sie können auch ein Passwort festlegen:

https://youruser:[email protected]/user/repo.git

Sie sollten sich bewusst sein, dass in diesem Fall Ihr Github-Passwort im Klartext in Ihrem .git-Verzeichnis gespeichert wird, was offensichtlich unerwünscht ist.

Thiago Macedo
quelle
12
SSH ist bei der Arbeit blockiert, daher muss ich HTTPS verwenden. Das Hinzufügen des Benutzernamens behebt meine Probleme.
David Poole
32
Dies sollte die akzeptierte Antwort sein. Kein Grund, eine Konfigurationsdatei manuell zu bearbeiten, wenn eine Befehlszeilenschnittstelle vorhanden ist.
Steve Bennett
4
Für mich hat dieser Weg ( Benutzername @ github ... ) nach dem Passwort gefragt und funktioniert, während ssh: // git @ github ... die Authentifizierung mit öffentlichem Schlüssel nicht erwartet hat.
Steve Bennett
1
funktioniert und sollte die akzeptierte Antwort sein! Insbesondere in Umgebungen, in denen ssh nicht funktioniert, ist dies der richtige Weg. Vielen Dank!
AndreasEK
3
@Achint ist ein Authentifizierungsformat. Sie könnten auch Ihr Passwort festlegen, https://youruser:[email protected]/user/repo.gitobwohl es nicht sicher ist
Thiago Macedo
113

Eine kleine Ergänzung zu Seans Antwort .

Anstatt die .git/configDatei manuell zu bearbeiten , können Sie den git remote set-urlBefehl verwenden.

In Ihrem Fall sollte es sein:

git remote set-url origin ssh://[email protected]/derekerdmann/lunch_call.git

Ich finde es einfacher und sauberer, als mit Punktdateien herumzuspielen.

Fetsh
quelle
Ich weiß nicht, ob dies nur ein alter Beitrag ist und Git hat sich geändert, aber wie heute musste ich zur Behebung des Problems git remote set-url origin ssh://[email protected]:derekerdmann/lunch_call.giteinen Doppelpunkt zwischen github.com und dem Repo-Namen verwenden
KevinL
56

Bearbeiten Sie die .git/configDatei in Ihrem Repo-Verzeichnis

Finden url=Eintrag unter Abschnitt[remote "origin"]

Ändern Sie es von url=https://github.com/rootux/ms-Dropdown.gitzu https://[email protected]/rootux/ms-Dropdown.git

Wo USERNAMEist dein Github-Benutzername?

Gal Bracha
quelle
Diese Antwort traf nicht auf mein Problem zu. Meine URL .git/configist auf " github.com/myrepo/subproject" eingestellt .
Kilojoule
Hatte dieses Problem mit Android Studio. Funktioniert gut.
AndroidDev
46

Die anderen Antworten, die darauf hindeuten, auf SSH umzusteigen, verfehlen den Punkt. HTTPS wird unterstützt, aber Sie müssen sich mit Ihrem GITHUB-Passwort anmelden, nicht mit Ihrer SSH-Passphrase (was mir genau den gleichen Fehler gab).

Ich hatte das gleiche Problem, aber die Verwendung meines tatsächlichen GitHub-Kennworts an der Eingabeaufforderung für das Terminalkennwort behebt die Lösung, ohne die Konfiguration zu ändern oder auf SSH zurückzugreifen.

Der Grund, warum es wichtig ist, dies zu beachten, ist, dass viele öffentliche Einrichtungen (wie meine Schule) SSH blockieren, aber HTTPS zulassen (was der einzige Grund ist, warum ich überhaupt mit dem Klonen über HTTPS begonnen habe).

Hoffe, das hilft allen anderen, die das gleiche Problem haben ...

BMB
quelle
1
aber warum? Das musste ich in der Vergangenheit nicht tun. Ist ein Zertifikat abgelaufen oder so?
Thufir
Ich bin mir nicht sicher, ich bin kein Experte, so habe ich es in meinem Fall zum Laufen gebracht :)
BMB
Gleiches @Thufir. Ich habe keine Ahnung, warum das plötzlich funktioniert hat.
Nick Manning
Ich melde mich gut mit meinem Benutzernamen und Passwort im Browser an. ABER wenn ich es versuche, git pushwerde ich zur Eingabe von au und p aufgefordert und das Ergebnis ist, dass die Erlaubnis verweigert wird. Weißt du, was mir fehlt?
Omar
26

Gleicher Fehler und gleiche Auflösung unter Mac OS X.

Alles hat gut funktioniert, bis ich einen neuen Account auf GitHub erstellt und versucht habe zu pushen

$ git push -u origin master

Und bekam den Fehler:

remote: Berechtigung für NEWUSER / NEWREPO.git für OLDUSER verweigert. fatal: Zugriff auf ' https://github.com/NEWUSER/NEWREPO.git/ nicht möglich ' nicht möglich: Die angeforderte URL hat den folgenden Fehler zurückgegeben: 403

Es sollte behoben worden sein, indem der Benutzername entweder für globales oder aktuelles Repo festgelegt wurde

$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER

Aber es war nicht so.

Ich habe das Problem behoben, indem ich den mit GitHub verknüpften OLDUSER aus der Keychain Access-App im Abschnitt Kennwörter gelöscht habe . Dann wurde der Push-Befehl erfolgreich.

$ git push -u origin master

Referenz

Zeeawan
quelle
Das Löschen des OLDUSER aus der Keychain Access App hat bei mir funktioniert
Augusto Triste
1
Ich habe den gleichen Fehler erhalten, aber aus einem anderen, aber verwandten Grund, der eine andere Lösung erforderte. Ich habe versucht, auf ein Repo zuzugreifen, auf das ich keinen Schreibzugriff habe (ich bin kein Mitarbeiter). Dies lag eher an meinem Mangel an Wissen darüber, wie ich zu einem Repo beitragen kann, das nicht meins ist. Ich dachte, ich könnte einfach einen neuen Zweig erstellen und dann eine Pull-Anfrage stellen. Nicht so. Ich muss zuerst das Repo gabeln, meine Änderungen an der Gabel vornehmen und dann eine Pull-Anfrage von meinem gegabelten Repo zum ursprünglichen Repo ausführen. Wahrscheinlich ein dummer Fehler von meiner Seite, aber wenn ich es schaffen kann, dann bin ich sicher, dass andere n00bs es könnten. :)
Neo
23

Wenn Sie Windows verwenden, kann dies manchmal vorkommen, weil Windows Anmeldeinformationen für das äußere Repo (in unserem Fall Github) in seinem eigenen Speicher speichert. Die dort gespeicherten Anmeldeinformationen können sich von den derzeit benötigten unterscheiden.

Geben Sie hier die Bildbeschreibung ein

Um dieses Problem zu vermeiden, suchen Sie einfach github in diesem Speicher und löschen Sie gespeicherte Anmeldeinformationen. Danach werden beim Drücken von git Ihre Anmeldeinformationen angefordert und Sie können pushen.

Andrew Gans
quelle
"Möglicherweise müssen Sie den Windows-Berechtigungsnachweis-Manager überprüfen und den Github-Eintrag unter control panel > user accounts > credential manager > Windows credentials > Generic credentials" Details aus diesem Beitrag löschen : stackoverflow.com/a/37450495
Miguel
Das funktioniert bei mir, ich hatte fast 2 Tage Probleme und kam schließlich zur Lösung. Vielen Dank.
Sufiyan Ansari
1
Du hast mein Leben gerettet!
WriteToBhuwan
1
Ich habe dieses Problem für mehr als einen Monat konfrontiert, danke
Samson Nzuki
1
Genius. Vielen Dank
Vinod Kumar
18

Das funktioniert bei mir -:

git remote set-url origin https://[email protected]/user/repo.git

Ich hoffe es hilft

Stevensagaar
quelle
1
gut gemacht. Benutzer einstellen!
Marlonpya
1
Diese Lösung half mit git v1.7 in CentOS 6.10 x86. Ich hatte erwartet, dass das Passwort-Promopt angezeigt wird (anstelle des SSH-Schlüssels), und das tat es (indem ich es <username>@zuvor github.comin der Remote-URL voranstellte ). Vielen Dank!
Vulkanischer Rabe
17

Ich denke, @deepwaters hat die richtige Antwort für ältere Versionen erhalten. Die HTTPS-URL muss den Benutzernamen haben. Ich hatte git 1.7.0.4 und git push origin masterwürde nicht einmal nach einem Passwort fragen, bis ich es hinzugefügt habe.

Nisah
quelle
11

Ein 403-Code ist "Verboten". Der Server hat Ihre Anfrage gesehen und abgelehnt. Haben Sie die Berechtigung, in dieses Repository zu pushen?

Nick Veys
quelle
1
Ich und ein Freund haben das gleiche Problem. Das Repo gehört mir und er kann nicht pushen. Wie beheben wir das?
Gibson
wie man Persmisson bekommt
Bawantha
9

Ich hatte tatsächlich eine sehr einfache Lösung dafür. Ich habe die Git-Konfigurationsdatei nach dem Klonen des Repositorys nur anders bearbeitet. Die Remote - Ursprungs - URL ist , was Sie in Ihrer Standard zu bearbeiten müssen Konfigurationsdatei. Es sollte wie unten aussehen

[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
larrytech
quelle
^ dies (oder eine seiner Varianten unten)
Austin Frankreich
Durch Hinzufügen des Benutzernamens vor github.com wurde dies für mich behoben.
Shane
Gern geschehen @ ÅdəəlÅhmåd. Unterstützen Sie die Bemühungen, indem Sie die Antwort abstimmen, damit viele andere sie schätzen können.
Larrytech
8

Herausgefunden. Ich habe über HTTPS geklont. Das Einrichten meiner öffentlichen SSH-Schlüssel, das Klonen über SSH und das Drücken über SSH haben das Problem behoben.

Mike
quelle
Hmmm ... aber was ist, wenn Sie zum Beispiel wegen einer Corp-Firewall nur https verwenden können? ... Laut dem Github-Blog wurde der https-Zugriff nur zu diesem Zweck zu Github hinzugefügt?
Filofel
1
Ich weiß es wirklich nicht. Ich klone jetzt immer über SSH.
Mike
Nur für die Nachwelt (ich habe den Zeitstempel bemerkt) in Bezug auf Filofels Kommentar: Schauen Sie sich meine oben aufgeführte Antwort an. Ich habe die gleiche Einschränkung, die Sie an meiner Schule erwähnt haben, und festgestellt, dass ich der Terminal-Eingabeaufforderung das falsche Passwort / die falsche Passphrase gegeben habe. Hoffe, es hilft allen anderen mit dem gleichen Problem.
BMB
7
  1. Klicken Sie auf Ihr Repository
  2. Klicken Sie auf der rechten Seite auf "Einstellungen".
  3. Klicken Sie im linken Optionsfeld auf "Mitarbeiter".
  4. Fügen Sie den in GitHub bekannten Personennamen hinzu
  5. Klicken Sie auf "Mitarbeiter hinzufügen".

Danach hat unser "Push to Git" gut funktioniert.

Krishna
quelle
Vielen Dank! wirklich hilfreich!
Segelfisch009
7

Tun Sie dies für eine vorübergehende Korrektur

git push -u https://username:[email protected]/username/repo_name.git master

x0v
quelle
einfach und funktioniert
Bawantha
6

Ich hatte den gleichen Fehler und die Ursache war dumm - ich hatte keine Berechtigungen zum Festschreiben für das ausgewählte Repository. Ich wusste nicht, dass ich muss

  1. Gabel zuerst ausgewähltes Projekt
  2. Repository lokal klonen
  3. Übernehmen Sie meine Änderungen vor Ort
  4. Push-Änderungen an meinem Github-Klon
  5. Anfrage Pull Anfrage an Upstream

wie unter https://help.github.com/categories/63/articles beschrieben

Leos Literak
quelle
1
Nicht dumm, dies ist die richtige Antwort für die meisten erstmaligen Mitwirkenden an öffentlichen Repositories.
DaReal
5

Für diejenigen, denen die Berechtigung 403 verweigert wurde , während sie ssh (laut Xiao ) oder http- URLs verwenden, versuchen Sie diese Befehle

>git config --global --unset-all credential.helper

>git config --unset-all credential.helper

mit Administratorrechten

>git config --system --unset-all credential.helper
Moosa Baloch
quelle
Jetzt fragt Git jedes Mal nach Login und Passwort. Speichern Sie sie durch git config --global credential.helper store.
CoolMind
4

ändere es von

url=https://[email protected]/derekerdmann/lunch_call.git 

zu

url=ssh://[email protected]/derekerdmann/lunch_call.git

Es klappt!

Vergessen Sie nicht das "Git" vor dem "@".

JimmyDong
quelle
Es hat bei mir funktioniert (mit CentOS Server mit RStudio hinter dem Proxy). Proxy zuerst einstellen : git config --global http.proxy http://proxyUsername:[email protected]:portVerwenden Sie dann den Befehl git remote set-url origin, um die Adresse zu wechseln.
Alexandre George
3

Für alle Neugierigen lief auf meinem Mac-Computer gegen lucid vm git 1.7.6 gegen 1.7.0.4, und genau das gleiche Repo konnte von meinem Mac (neueres git), aber nicht von der VM, übertragen werden

Gleiche Curl-Version. Vielleicht unterstützen einige ältere Git-Versionen keine https-Pushs?

Patcon
quelle
Ja, https Push to Github funktioniert hier (auch über Proxy mit Passwort). Ich benutze Git 1.7.3. Für mich ist es zuerst fehlgeschlagen, weil ich das falsche Passwort eingegeben habe.
Guettli
9
Es funktioniert für mich mit Git 1.7.1, aber eines müssen Sie auch beachten (und das habe ich bei meinem ersten Versuch verpasst): Geben Sie den Benutzernamen in der HTTPS-URL an, dhurl=https://[email protected]/username/repo.git
lwho
3

Fügen Sie den Benutzernamen als Teil der URL hinzu und Dieser Fehler tritt auf, weil der Befehl git http anstelle von https trifft. Stellen Sie also die URL ein

git remote set-url origin https://<username>@github.com/Path_to_repo.git

Danach werden Sie zur Eingabe des Passworts aufgefordert:

venkat sam
quelle
3

Was hat bei mir funktioniert:

Mein Repo war eine Gabel und immer noch mit dem Repo der Eltern verbunden.

git remote -v

Wird dir sagen, ob es dein Repo ist oder nicht.

git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

Ermöglicht es Ihnen, es in Ihr Repo umzukonfigurieren und dann zu pushen.

timxor
quelle
3

Keine der oben genannten Antworten hat bei mir funktioniert enterprise GitHub-Account. Befolgen Sie diese Schritte, um über die SSH-Schlüsselgenerierung zu drücken.

Erstellen Sie ein Repo, indem Sie Ihr Git-Konto besuchen.

SSH-Schlüssel generieren:

ssh-keygen -t rsa -C "[email protected]"

Kopieren Sie den Inhalt der Datei ~ / .ssh / id_rsa.pub auf Ihre SSH-Schlüssel in Ihren GitHub-Kontoeinstellungen. SSH-Schlüssel testen:

ssh -T [email protected]
clone the repo:
git clone git://github.com/username/your-repository

CD jetzt in deinen Git-Klon-Ordner und mache:

git remote set-url origin [email protected]:username/your-repository.git

Versuchen Sie nun, eine Datei zu bearbeiten (versuchen Sie es mit der README-Datei) und gehen Sie dann wie folgt vor:

git add -A
git commit -am "my update msg"
git push -u origin master

Update: Die neue Git-Version scheint zu empfehlen, keine Datei zu haben, während ein neues Repo erstellt wird. Machen Sie daher ein leeres Repo.

CKM
quelle
2

Ich habe meine eigene Variante dieses Problems herausgefunden.

Das Problem bestand nicht darin, das Protokoll von https in ssl zu ändern, sondern den globalen Benutzernamen und die E-Mail-Adresse von Github festzulegen! (Ich habe versucht, in ein privates Repository zu pushen.

git config --global user.email "[email protected]"

git config --global user.name "Your full name"
Lucas Ou-Yang
quelle
Funktioniert bei mir nicht Konfiguration wurde festgelegt, verwenden Sie github.com .. ohne '@'
ses
1

Ich hatte dieses Problem gerade und es stellte sich heraus, dass meine Server /etc/resolver.conf-Datei eine schlechte IP-Adresse hatte. Könnte anderen helfen.

RichardW11
quelle
1

Dies ist mir passiert, weil mein Mitarbeiter versehentlich das Repository deaktiviert hat, aus dem dieses Repository gegabelt wurde. Überprüfen Sie möglicherweise, ob das ursprüngliche Git (Hub) -Repo tatsächlich noch vorhanden ist.

ftrotter
quelle
1

Es könnte ein Buchhaltungsproblem sein. Das Github-Konto des vorgelagerten (privaten) Repo-Eigentümers ist möglicherweise nicht finanziell. Ich habe dies gesehen, wo die Kreditkarte des Kunden abgelaufen ist.

gnoll110
quelle
1

Was für mich funktioniert hat, ist der Wechsel von http zu ssh:

git remote rm origin
git remote add origin [email protected]:username/repoName.git

dann überprüfen Sie es mit git remote -v

Connor Leech
quelle
1

Ich hatte das gleiche Problem. Mein Fall war: Ich hatte Git Repo lokal initialisiert, bevor ich es auf Github erstellt hatte, und dann versucht, einen Remote-Zweig hinzuzufügen. Ich habe mein Problem gelöst, indem ich die Reihenfolge der Aktionen geändert habe: Ein Repo auf der Github-Site erstellt und dann lokal gestartet. Aber es ist nicht der Fall für diejenigen, die alles wie ich von der Kommandozeile aus erledigen möchten.

Yauhen
quelle