Push lokale git commits Geschichte in Herkunft Zweig

Ich arbeite alleine am Projekt. Ich hatte in git log 5 commits. Ich habe diese Commits zu einem verschmolzen

git rebase -i HEAD~5
pick xxxx commit1
squash xxxx commit2
squash xxxx commit3
squash xxxx commit4
squash xxxx commit5

Jetzt habe ich einen commit in git log . Alles ist schön. Aber ich habe nach git status die nächste Nachricht:

Your branch and 'origin/master' have diverged,
# and have 1 and 5 different commits each, respectively.

Ich muss git pull machen, aber danach schreibe ich mein git log wieder auf 5 commits (denke ich).

Um eine lange Geschichte kurz zu machen, wie kann ich lokale git commits Geschichte in Herkunft Zweig und loswerden der divergenten Fehler?

0
Wollen Sie Commits, die bereits veröffentlicht sind, zerquetschen? Dann überprüfe stackoverflow.com/questions/8386996/…
hinzugefügt der Autor Greg, Quelle

2 Antworten

Sie können Ihre Version des Verlaufs auf den Ursprung zwingen:

git push origin master --force

But please be aware that rewriting git history is frowned upon: http://git-scm.com/book/ch3-6.html#The-Perils-of-Rebasing

0
hinzugefügt

Sie müssen Ursprung/Master zusammenführen

git merge origin/master
0
hinzugefügt
Dies wird nicht tun, was Sie sagen, und es hilft dem OP nicht. Dies aktualisiert den Ursprung nicht, dies bringt zuerst die fünf Commits zum lokalen Master zurück (genau das, was nicht passieren sollte), und wenn du dann drückst, ist das nutzlos, denn das ist die Geschichte, die das OP loswerden will.
hinzugefügt der Autor hvd, Quelle
Wird meine Geschichte erneut auf 5 Commits umgeschrieben? Ich möchte das vermeiden.
hinzugefügt der Autor fortegente, Quelle
Nein, eigentlich wirst du den Ursprung aktualisieren, im Moment hast du gerade dein lokales Repository aktualisiert, nachdem du die Zusammenführung gemacht hast, dann wirst du in der Lage sein, einen Ursprung zu machen
hinzugefügt der Autor moisesvega, Quelle