Warum "git push" helloworld "+master:master" statt nur "git push "helloworld"?
Versuchte ich Schiebe meine (erste!) git repo wie dies zunächst:
$ git push helloworld
Aber ich habe diese zurück:
To [email protected]:helloworld.git
! [rejected] HEAD -> master (non-fast forward) error:
failed to push some refs to '[email protected]:helloworld
git'
Also ich fand ein weiterer StackOverflow-Frage über "geändert verpflichtet" und habe versucht, einen Vorschlag von dort, ohne wirklich zu wissen, ob es mir helfen würde:
KaiserSosa@SMICHAELS /c/test/helloworld (master)
$ git push helloworld +master:master
... Es funktionierte!
Aber ich weiß nicht, warum es fixiert mein problem 🙁
Könnte mir jemand erklären, warum das funktioniert, aber "git push helloworld
" nicht?
- Eine weitere Lösung, in der Antwort auf Ihren Kommentar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es scheint, dass Sie geschrieben haben, Ihre Geschichte (SHA-1 in Verbindung mit Ihrem commit) im master-Zweig.
Das bedeutet, Sie können nicht mehr push-in einer fast-forward-Modus.
den +master-Kräfte der push-to-stattfinden:
Durch die optionale führenden +, man kann sagen, git update der
<dst>
ref, auch wenn das update nicht schnell vorwärts.Hinweis: das könnte schlecht sein, wenn jemand anderes hat bereits geklonte repository, da Sie nicht mehr in der Lage, einfach ziehen Sie Ihre master-Zweig, ohne in Konflikt.
Siehe auch diese ALSO Antwort für mehr.
Hinweis: wie bereits erwähnt von Junio C. Hamano:
Wie gesagt in den Git FAQ, eine mögliche Vorgehensweise ist:
Andere Lösung (was Sie Tat):