Ich versuche, eines meiner Projekte auf Github zu bringen, und es wird immer wieder der folgende Fehler angezeigt:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Also habe ich es versucht und folgendes bekommen:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Ein anderer Stackoverflow-Thread schlug vor, Folgendes zu versuchen, mit enttäuschenden Ergebnissen.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Dann habe ich das versucht:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Irgendwelche Hinweise?
git
Befehle das OP gepostet hat, hat mir geholfen, sogar mehr als die AntwortenAntworten:
Sie haben den Push behoben, aber unabhängig von diesem Push-Problem (das ich unter " Warum muss ich einen neuen Zweig explizit pushen? " Erklärt habe :
git push -u origin master
odergit push -u origin --all
) müssen Sie jetzt das Authentifizierungsproblem beheben.Das hängt von Ihrer URL ab (ssh wie in '
[email protected]/yourRepo
oder https wie inhttps://github.com/You/YourRepo
)Für https URL:
Wenn Ihr Konto durch die Zwei-Faktor-Authentifizierung geschützt ist , funktioniert Ihr reguläres Passwort nicht (für die https-URL), wie hier oder hier erläutert .
Gleiches Problem, wenn Ihr Passwort ein Sonderzeichen enthält (wie in dieser Antwort )
Wenn https nicht funktioniert (weil Sie keinen Sekundärschlüssel, ein PAT: Personal Access Token, generieren möchten), können Sie zu ssh wechseln, wie ich hier gezeigt habe .
Wie von qwerty in den Kommentaren angegeben, können Sie den gleichnamigen Zweig auf der Fernbedienung automatisch erstellen mit:
Warum?
.git\HEAD
Datei) die Refspec des aktuell ausgecheckt Zweig (zBref: refs/heads/master
)Da die für diesen Push verwendete Referenzspezifikation head: (kein Ziel) ist,
:<dst>
bedeutet ein fehlendes Mittel, um dieselbe Referenz wie die<src>
(head, die ein Zweig ist) zu aktualisieren .Das funktioniert aber nicht, wenn HEAD abgenommen ist .
quelle
git push origin head -u
. Erstellt automatisch den gleichnamigen Zweig auf der Fernbedienung.Sie können auch den folgenden Befehl verwenden:
Dadurch wird (-u) ein weiterer Zweig in Ihrem Remote-Repo erstellt. Sobald die Authentifizierung mit ssh abgeschlossen ist.
quelle
-u
Option : Option ist die Verknüpfung für die--set-upstream
Option, die nichts mit der Erstellung eines neuen Zweigs zu tun hat. Aus der Dokumentation der Option-u
oder--set-upstream
: "Fügen Sie für jeden Zweig, der aktuell ist oder erfolgreich gepusht wurde, eine Upstream-Referenz (Tracking-Referenz) hinzu, die von git-pull [1] ohne Argumente und anderen Befehlen verwendet wird." Eigentlich verstehe ich nicht, warum diese Antwort so positiv bewertet wurde, wie es irreführend ist.Anscheinend erhalten Sie diese Fehlermeldung auch, wenn Sie den
--all
Parameter beim ersten Drücken vergessen . Ich hab geschriebenwas diesen Fehler gab, sollte es gewesen sein
Oh, wie sehr ich diese Fehler beim Kopieren und Einfügen liebe ...
quelle
Sie müssen zuerst die Fernbedienung konfigurieren und dann drücken.
Aktuelle Anweisungen
quelle
Bitte versuchen Sie dieses Szenario
quelle
Wenn Sie die Aktion definieren, die ausgeführt werden
git push
soll, wenn in der Befehlszeile keine Referenzspezifikation angegeben ist, in der Fernbedienung keine Referenzspezifikation konfiguriert ist und keine der in der Befehlszeile angegebenen Optionen eine Referenzspezifikation impliziert.Mach es einfach:
dann
quelle
Nun, ich hatte die gleichen Probleme beim Hochladen und habe es behoben, indem ich das Gleiche getan habe, was es verspricht: Früher habe ich versucht, das Terminal von https wie zu meinem Repository unter Linux zu pushen
Aber ich bekam kein Ergebnis und daher ging ich tiefer und versuchte:
Und es hat funktioniert. So werden Sie dann mit Benutzername und Passwort aufgefordert. Ich habe auch ein Token generiert und anstelle des Passworts das Token eingefügt und damit erfolgreich gearbeitet.
quelle
Auf einer sehr einfachen Seite können Sie, sobald Sie andere Zweige haben, nicht einfach einen Zweig schieben
Sie müssen den Zweig jetzt angeben, auch wenn Sie den Zweig, den Sie pushen möchten, auschecken müssen
Wo kann sogar der
master
Zweig seinquelle
Ich habe den einfachen Fehler gemacht, das Festschreiben zu vergessen:
dann
git push origin master
arbeitete.quelle
Ich hatte das gleiche Problem
Ich habe es gelöst, das unten Befehl verwendet
und es wird eine Konfiguration in der Konfigurationsdatei im Ordner .git hinzugefügt.
quelle
Erst verwenden
git pull origin your_branch_name
Dannuse git push origin your_branch_name
quelle
Hierfür gibt es eine einfache Lösung, die für mich unter macOS Sierra funktioniert hat. Ich habe diese beiden Befehle ausgeführt:
Wenn nach einem zukünftigen Push ein schwerwiegender Fehler in Bezug auf den Upstream angezeigt wird, führen Sie einfach Folgendes aus:
quelle
1. Ein Computer und Ihr Github sind verbunden. Verwenden Sie SSH. Computercode, damit Sie keine verifizierte Bildbeschreibung hier eingeben müssen
2. Git kann leere Ordner nicht verwalten. Sie müssen also eine solche readme.md schreiben, die in einer Datei gespeichert ist. Andernfalls finden Sie die Datei nicht.
3. Ihr lokales Projekt ist nichts, worüber neue Projekte verschoben werden. Bitte
git init
git remote add origin +"githublink"
git add .
git commit -m ""
geh wieder.4. dann
git pull origin master
(der Schlüssel)5. Endlich
git push origin master
(alle Probleme lösen).http://my.oschina.net/psuyun/blog/123005参考 链接
quelle
Wenn Sie versuchen, Ihren Code direkt in den Hauptzweig zu übertragen, verwenden Sie den Befehl
Es hilft mir.
quelle
Ich habe auch den gleichen Fehler bekommen. Ich denke, das lag daran, dass ich ihn geklont und versucht habe, ihn zurückzuschieben. $ git push -u origin master Dies ist der richtige Befehl. Versuchen Sie das
Objekte zählen: 8, fertig. Delta-Komprimierung mit bis zu 2 Threads. Objekte komprimieren: 100% (4/4), fertig. Objekte schreiben: 100% (8/8), 691 Bytes | 46,00 KiB / s, fertig. Insgesamt 8 (Delta 1), wiederverwendet 0 (Delta 0) entfernt: Auflösung von Deltas: 100% (1/1), erledigt.
[neuer Zweig] Master -> Master Zweig-Master, der eingerichtet wurde, um den Remote-Zweig-Master vom Ursprung aus zu verfolgen.
quelle
Ich hatte das gleiche Problem, die Ursache war, dass ich vergessen habe, den Zweig anzugeben
quelle
Für mich habe ich die Änderungen auf ein privates Repo übertragen, auf das ich keinen Schreibzugriff hatte. Stellen Sie sicher, dass Sie über die gültigen Zugriffsrechte verfügen, während Sie Push- oder Pull-Vorgänge ausführen.
Sie können direkt über überprüfen
quelle
Für mich lag es daran, dass ich den versteckten .git- Ordner gelöscht hatte .
Ich habe es behoben, indem ich den Ordner gelöscht, neu geklont und die Änderungen erneut vorgenommen habe.
quelle
Wenn Sie sich in einem Zweig befinden, können Sie Folgendes verwenden:
Dadurch wird automatisch ein neuer Zweig mit demselben Namen auf der Fernbedienung erstellt.
quelle
Um dieses Problem zu beheben, müssen Sie beim Auschecken des Codes
git
den folgenden Befehl eingeben :git checkout -b branchname origin/branchname
Hier stellen wir standardmäßig die Einstellung ein
the upstream branch
, damit Sie nicht mit dem genannten Problem konfrontiert werden.quelle
Für mich kommt das Problem vom Namen meiner Filiale: "# Name meiner Filiale", ohne "#" funktioniert es einwandfrei!
quelle