2012-06-25 17 views
15

Ich machte einen Commit & Pushed Repo. Später änderte ich die Commit-Nachricht mit git commit --amend, Im Pop-up-Fenster habe ich die neue Nachricht eingegeben. Ich konnte die neue Nachricht über git log sehen. Nach all dem Prozess zeigt meine git status so. Ich weiß nicht, wie ich diese Änderung auf Repo übertragen soll.Wie zum Repo Push nach dem 'git commit --amend'

On branch master 
Your branch and `origin/master` have diverged, 
and have 1 and 1 different commit(s) each, respectively. 

Erwartet eine machbare Lösung dafür.

+0

Geht es Ihnen gut damit, das Commit erneut zu teilen und auf dem bereits veröffentlichten (durchgesickerten?) Kopf aufzubauen? – Thilo

+0

Siehe [Master-Zweig und 'Ursprung/Master' sind divergiert, wie verzweigt man 'Zweige'?] (Http://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have-divergent- how-to-univerge-files) –

+0

Wenn du es vermeiden kannst, Commits zu ändern, sobald sie an einen öffentlichen Ort verschoben wurden, wo andere sie sehen können, solltest du das unbedingt tun. Dies gilt auch für die Umbasierung. –

Antwort

22

Wenn Sie die Geschichte mit der Abänderung der auf der Fernbedienung Repo ok sind (wie in, die Sie gerade gedrückt, dass begehen und keine neuen Commits gemacht wurden), können Sie versuchen, eine

git push --force 

Jedoch nicht zuerst lesen "How do I push amended commit to the remote git repo?": Wenn jemand bereits aus diesem Repo gezogen hat, wird er/sie nicht glücklich sein.

Eine Alternative ist in "Git: pushing amended commits" beschrieben.
Wie von cpeisert im Kommentar "master branch and 'origin/master' have diverged, how to 'undiverge' branches'?" erwähnt Ihre Warnmeldung beschrieben.