Ich klone mein Repository mit:
git clone ssh://xxxxx/xx.git
Aber nachdem ich einige Dateien und add
und commit
sie geändert habe, möchte ich sie auf den Server übertragen:
git add xxx.php
git commit -m "TEST"
git push origin master
Aber der Fehler, den ich zurück bekomme, ist:
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
git status
, um die richtige zu bekommen.Antworten:
Vielleicht müssen Sie sich nur festlegen. Ich bin darauf gestoßen, als ich es tat:
Hoppla! Nie begangen!
Alles was ich tun musste war:
Erfolg!
quelle
git add --all
falls Sie alle Dateien hinzufügen möchten Oder Sie können selektiv Dateien hinzufügen. Danngit commit -m "Initial comment"
,git push origin master
. Das wird sicher funktionieren.git commit -m 'initial commit'
sollte doppelt zitiert werden. 'git commit -m "initial commit"
, zumindest an Fenstern.Versuchen Sie
git show-ref
zu sehen, welche Refs Sie haben. Gibt es einerefs/heads/master
?Sie können versuchen
git push origin HEAD:master
, eine lokal referenzunabhängigere Lösung zu finden. Dies besagt ausdrücklich, dass Sie die lokale ReferenzHEAD
an die Remote -Referenz senden möchtenmaster
(siehe die Dokumentation zu git-push refspec ).quelle
git show-ref
zeigte meinen Zweig; dasgit push origin HEAD:<branch>
hat bei mir funktioniert.git push origin HEAD:master
. Aber warumgit push --force origin master
funktioniert so etwas nicht?unfriendly
Fehler angezeigt. Verwenden Siegit push origin <branch>
statt für denmaster
Fall, dass Sie versuchen,git checkout -b <branch>
vor einem ersten Push nach dem erstengit remote add origin <url>
Ich hatte auch einen ähnlichen Fehler, nachdem ich alle Dateien auf meinem lokalen Computer gelöscht hatte, und ich muss alle Dateien im Repository bereinigen.
Meine Fehlermeldung war ungefähr so:
Und es wurde gelöst, indem die folgenden Befehle ausgeführt wurden:
quelle
git push origin BRANCH --force
funktionierte. Vielen Dank!Also habe ich Vis Lösung ausprobiert :
Das hat bei mir funktioniert.
quelle
git push origin HEAD:B
, aber ich habe immer noch den gleichen Fehler, wenn ich mitgit push origin
Zweig ADazu müssen Sie die Commit-Nachricht wie folgt eingeben und dann den Code drücken:
Erfolgreich zum Meister gedrängt.
quelle
Für mich musste ich sicherstellen, dass der öffentliche Schlüssel auf dem Server (in ~ / .ssh / authorized_keys angehängt) und in GitHub / Bitbucket (hinzugefügt zu meinen SSH-Schlüsseln auf GitHub oder Bitbucket) richtig konfiguriert ist - sie müssen übereinstimmen.
Dann:
Am Ende hat es bei mir funktioniert.
quelle
Ich fand dies in einem brandneuen Repository, nachdem ich Git nur ein Verzeichnis hinzugefügt hatte.
Sobald ich eine Datei hinzugefügt habe (z. B. eine README-Datei), hat Git Push hervorragend funktioniert.
quelle
Fehlt oder überspringt
git add .
odergit commit
kann diesen Fehler verursachen:Um das Problem zu beheben, initialisieren Sie es neu und befolgen Sie die richtige Reihenfolge:
quelle
git remote add __REMOTE_NAME__ __URL_OR_SSH__
und über dem entfernten Namen steht "Ursprung"-u
hier verwendeten Option.Um das Problem zu beheben, initialisieren Sie es neu und befolgen Sie die richtige Codesequenz:
quelle
Stellen Sie sicher, dass Sie zuerst hinzugefügt haben, und legen Sie dann fest:
Mögen:
quelle
Dies passiert auch, wenn Sie sich in einem bestimmten Zweig befinden und versuchen, einen anderen Zweig zu pushen, der noch nicht vorhanden ist, wie z.
quelle
-u
vielleicht hier geholfen.master
, sodass Sie ihn nicht pushen können. Sie möchten entweder einen vorhandenen Zweig verschieben - oder den Hauptzweig erstellen und dann wiegit checkout -b master; git push -u origin master;
git push origin scheduler
. HA! Ein Buchstabe entfernt bringt Sie bei der Programmierung um. lolIch hatte das gleiche Problem und benutzte
--allow-empty
:Ergänzung
Einer der Hauptgründe für dieses Problem ist, dass bei einigen Git-Servern, wie z. B. BitBucket, der
master
Zweig nicht initialisiert wird, wenn ein neues Repository geklont wird.quelle
Für mich hat Folgendes funktioniert, um nicht verfolgte Dateien zu verschieben:
Als nächstes folgte ich ähnlichen Schritten
Dann,
Last but not least:
Währenddessen wird die Windows-Sicherheit angezeigt und Sie werden nach Ihrem Benutzernamen und Kennwort gefragt.
quelle
In meinem Fall habe ich vergessen, die
.gitignore
Datei einzuschließen. Hier sind alle erforderlichen Schritte:Starten Sie ein Terminal und führen Sie in Ihrem Projekt die folgenden Befehle aus:
quelle
Fügen Sie einfach ein erstes Commit hinzu. Folge diesen Schritten:
git add .
git commit -m "initial commit"
git push origin master
Das hat bei mir funktioniert.
quelle
Mein Problem war, dass der 'Master'-Zweig noch nicht lokal erstellt wurde.
Ein schneller
erstellt den Master-Zweig, an welchem Punkt eine schnelle
schob die Arbeit auf das Git-Repository.
quelle
Sie haben wahrscheinlich den Befehl "git add" vergessen. nach dem Befehl "git init".
quelle
git commit
natürlich ...Dies bedeutet nur, dass Sie vergessen haben, das erste Commit durchzuführen. Versuchen Sie es
quelle
git add .
git commit -m "message"
git push origin branch
Bitte überprüfen Sie, ob Rechtschreibfehler vorliegen, da dies auch zu diesem Fehler führen kann.
quelle
Ich habe auch die Anweisungen von GitHub wie folgt befolgt, aber ich habe immer noch denselben Fehler festgestellt, wie er vom OP erwähnt wurde:
Für mich, und ich hoffe, das hilft einigen, habe ich eine große Datei
(1.58 GB on disk)
auf meinem MacOS gepusht. Während ich die oben vorgeschlagene Codezeile kopierte, wartete ich nicht darauf, dass mein Prozessor denadd .
Vorgang tatsächlich abschloss . Also als ich tipptegit commit -m "message"
, verwies es im Grunde genommen nicht auf Dateien und hat nicht alles abgeschlossen, was nötig ist, um meinen Code erfolgreich auf GitHub zu übertragen.Der Beweis dafür ist, als ich tippte
git status
normalerweise grüne Schriftarten für die hinzugefügten Dateien erhalte. Aber alles war rot. Als ob es überhaupt nicht hinzugefügt worden wäre.Also habe ich die Schritte überarbeitet. Ich tippte
git add .
und wartete, bis die Dateien fertig waren. Dann folgte ich den nächsten Schritten.quelle
Ich hatte das gleiche Problem, als ich versäumt habe zu rennen:
(Sie müssen mindestens eine Datei haben, sonst wird der Fehler erneut angezeigt.)
quelle
Es passiert, wenn Sie vergessen, sich zu verpflichten, bevor Sie zum ersten Mal pushen. Renn einfach:
quelle
Um den aktuellen Status zu überprüfen,
git status
.Befolgen Sie auch diese Schritte:
quelle
Dies geschieht, wenn Sie Ihre Datei hinzugefügt, das Festschreiben und Pushen vergessen haben. Also die Dateien festschreiben und dann pushen.
quelle
Ich hatte das gleiche Problem. Ich habe es mit den folgenden Schritten gemacht:
quelle
Wenn Sie diesen Fehler erhalten, während Sie im getrennten HEAD-Modus arbeiten, können Sie Folgendes tun:
Siehe auch: Einen Git-Push von einem abgetrennten Kopf ausführen
Wenn Sie sich in einem anderen lokalen Zweig als dem Remote-Zweig befinden, können Sie Folgendes tun:
quelle
In dem Szenario, in dem Sie den Code aus einem externen Repository (GitHub) auschecken und in ein persönliches / internes System importieren möchten, leuchtet dieser Befehl wirklich:
Dadurch werden alle lokalen Zweige an die Fernbedienung weitergeleitet, ohne die Refs zu überprüfen und ohne auf Commits zu bestehen.
quelle
Dies ist auch der Fall, wenn der Filialname, den Sie verschieben möchten, einen Tippfehler enthält.
quelle
ist alles, was du brauchst. Dieser Code verfolgt alle nicht verfolgten Dateien in Ihrem Verzeichnis.
quelle
Für den Fall, dass Sie auch nach dem Ausführen
git init
und Drücken Ihres ersten Commits mit diesem Problem konfrontiert sind . Sie können dann Folgendes versuchen:Ihr Code wird als neuer Zweig verschoben.
quelle