Ich habe ein privates Repository auf GitHub erstellt und beim Versuch, die Dateien mit den folgenden Befehlen von meinem Server zu übertragen, erhalte ich error: src refspec main does not match any.
Der vollständige Befehl und Fehler sind wie folgt:
# git hinzufügen . # git commit -m "Initial Commit"# git push origin main
Ich habe das Token auch gemäß der neuesten Git-Richtlinie verwendet, aber es hat nicht funktioniert und die folgende Fehlermeldung erhalten:
error:src refspec main does not match any.error:failed to push some refs to 'https://[email protected]/XXXX/XXX.git'So lösen Sie den Git-Fehler:src refspec main stimmt mit keinem überein
Ab dem 1. Oktober hat GitHub den Master-Branch in Main umbenannt und alle neuen Repositories erstellen den Standard-Branch mit dem Namen
main
. Nun, wenn Sie wissen möchten, warum diese Änderung erfolgt, dann ist hier ein Artikel, der den Grund erklärt.Lassen Sie uns den lokalen Referenzkopf mit dem folgenden Befehl überprüfen.
$ git show-ref 95b095fb6dd8c8af48c35317af7da14bd9f9f622 refs/heads/masterDie Ausgabe des obigen Befehls besagt, dass das Lokal immer noch auf
master
verweist head und nicht das neu umbenanntemain
.Um die lokale Referenz so zu ändern, dass sie auf
main
zeigt Verzweigung, ersetzen SieHEAD:master
mitHEAD:main
im folgenden Befehl.# git push origin HEAD:masterzu
# git push origin HEAD:mainDer obige Befehl gibt an, dass Sie die lokale Referenz
HEAD
pushen möchten zum entfernten Verweismain
.Das ist es!