781 Stimmen

Kann nicht zu GitHub pushen - sagt ständig, dass eine Zusammenführung erforderlich ist

Ich bin auf ein Problem gestoßen, als ich versucht habe, meinen Code auf GitHub zu veröffentlichen.

Pushing to git@github.com:519ebayproject/519ebayproject.git
To git@github.com:519ebayproject/519ebayproject.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:519ebayproject/519ebayproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ich habe noch nichts in das Repository eingefügt, warum muss ich also etwas ziehen?

6 Stimmen

Beachten Sie, dass dies auch bei Zweigen passieren kann, die zuvor lokal besucht wurden und für die Commits im Upstream-Repository vorgenommen wurden. Gibt es eine einfache Möglichkeit, einen solchen alten Zweig schnell weiterzuleiten oder Git ihn im lokalen Repository einfach vergessen zu lassen?

52 Stimmen

@ThorbjørnRavnAndersen - Ich habe es geschafft, dieses Szenario mit "git push -f" zu beheben, was Git dazu zu bringen schien, seine imaginären Probleme zu vergessen :)

0 Stimmen

14voto

Thomas07vt Punkte 219

Ich habe dies in meinem Tutorial erwähnt, So verwenden Sie GitHub: Ein Tutorium für Anfänger .

Wenn Sie ein neues Repository auf GitHub erstellen, fordert GitHub Sie möglicherweise auf, eine Readme-Datei zu erstellen. Wenn Sie eine Readme-Datei direkt auf GitHub erstellen, müssen Sie zunächst eine "Pull"-Anfrage stellen, bevor die "Push"-Anfrage erfolgreich sein wird. Diese Befehle "ziehen" das entfernte Repository, führen es mit Ihren aktuellen Dateien zusammen und "pushen" dann alle Dateien zurück zu GitHub:

git pull https://github.com/thomas07vt/MyFirstRepo.git master

git push https://github.com/thomas07vt/MyFirstRepo.git master

7voto

ScottyBlades Punkte 9468

Y

git fetch 

m

git pull <sharedRepo> <branch> --rebase

I

git push <forkedRepo> <branch>

I

git push <forkedRepo> <branch> -f

7voto

VIKAS KOHLI Punkte 7314

G b

U

6voto

Marco Punkte 141

Ich erhielt die oben genannte Fehlermeldung, als ich versuchte, meinen aktuellen Zweig zu pushen foobar :

git checkout foobar
git push origin foo

Es stellte sich heraus, dass ich zwei lokale Zweige hatte, die denselben entfernten Zweig verfolgten:

foo -> origin/foo (some old branch)
foobar -> origin/foo (my current working branch)

Es hat bei mir funktioniert, meinen aktuellen Zweig zu pushen, indem ich ihn benutzte:

git push origin foobar:foo

... und zum Aufräumen mit git branch -d

5voto

longda Punkte 9845

Ich hatte gerade das gleiche Problem, aber in meinem Fall hatte ich die falsche Verzweigung auf der Fernbedienung eingegeben. Es scheint also, dass dies eine weitere Ursache für dieses Problem ist... überprüfen Sie, ob Sie in den richtigen Zweig pushen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X