2012-07-13 7 views
14

Ich habe eine lokale git Repo auf meiner Arbeitsstation, die ich an einen Dropbox-Speicherort, so dass ich es zu meinem Laptop über git pull remote dropbox ziehen kann.Git drücken fehlgeschlagen nach 'git reset --hard HEAD ~ 1' von lokalen Repo

Gestern habe ich eine Änderung auf meiner Workstation eingecheckt, es committed und git push dropbox 'Ed it. Ich habe keine git pull von meinem Laptop gemacht, weil ich vermutete, dass ich am Ende dieses Commit wegwerfen würde.

Heute habe ich beschlossen, dass sich verpflichten zu werfen, so auf meinem Arbeitsplatz habe ich:

git reset --hard HEAD~1 

So weit, so gut. Jetzt will ich das wieder auf Dropbox hochschieben, damit ich auf meinem Laptop das dort zusammenführen und committen kann. Also auf meinem Arbeitsplatz habe ich versucht:

git push dropbox 

Und git beschwerte sich, dass:

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '\My Dropbox\dev\repos\xcast.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

Wie erhalte ich meine worstation und Dropbox wieder synchron zurück?

Antwort

28

Schubkraft sollte funktionieren: git push -f dropbox

Git beschwert, weil der Fernbedienung hat immer noch, dass zusätzliche begehen, und damit sind Sie dahinter in Bezug auf die Geschichte.

+1

Gibt es negative Auswirkungen darauf? –

+0

@Grunch: Ja, Sie verlieren das Commit in der Fernbedienung. Wenn Sie dieses Commit mit jemand anderem geteilt haben, können die Historien abweichen. –

+1

@Grunch Yeah, zwinge nur Push, wenn du sicher bist, dass noch niemand die Änderungen gezogen hat (oder du bist der einzige mit Zugriff) – jli

Verwandte Themen