Ich hatte ein Repository, das einige schlechte commits hatte (D, E und F für dieses Beispiel).Git reset --hard und ein Remote-Repository
A-B-C-D-E-F-Master und origin/master
I das lokale Repository spezifisch mit einem git reset --hard
geändert haben. Ich nahm einen Zweig vor dem Reset so jetzt habe ich ein Repo, die wie folgt aussieht: Ich
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
nun einige Teile dieser schlechten Commits benötigt, damit ich Kirsche die Bits nahm ich brauchte und machte einige neue verpflichtet, so jetzt habe ich die folgenden lokal:
Jetzt möchte ich diesen Stand der Dinge auf die Remote-Repo schieben. Aber wenn ich versuche, ein git push
Git gibt mir höflich den Pinsel zu tun off:
$ git push origin +master:master --force
Total 0 (delta 0), reused 0 (delta 0)
error: denying non-fast forward refs/heads/master (you should pull first)
To [email protected]:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:myrepo.git'
Wie kann ich die Remote-Repo erhalte den aktuellen Status des lokalen Repo zu nehmen?
Das ist ein "fast" Duplikat von mehreren "wie pushe ich geändert Geschichte Fragen, z. siehe die Antwort hier http://stackoverflow.com/questions/253055/how-doi-i-push-amended-commit-to-the-remote-git-repo/255080#255080 –
Das stimmt und ich hatte StackOverflow gesucht eine Antwort vor dem Posten. Meine Suche hatte jedoch nur Antworten ergeben, in denen ein Git - Pushforce das Problem behoben hat. Danke für die Verlinkung zu deinem Beitrag :) – robertpostill
Du wirst bald (git1.8.5, Q4 2013) in der Lage sein, [git push -force' genauer zu machen] (http://stackoverflow.com/a/18505634/6309) . – VonC