2013-01-21 5 views
5

Ich habe 'production_branch' ausgecheckt und dann eine Zusammenführung von 'master_branch for_production_branch' gemacht es gab massive Konflikte. 'production_branch' wurde in der Produktion bereitgestellt. Aber die Konflikte erfordern ein erfahreneres Auge. Ich muss einen kritischen Patch (ich werde es von Hand machen) in den Produktionszweig "production_branch" bringen, damit ich ihn bereitstellen kann.Wie blies ich meinen Versuch, git Konflikte zu lösen

git co 'production_branch' # => 
lib/tasks/foobar.rake: needs merge 
vendor/plugins/acts_as_syncable/lib/active_record/whatever.rb: needs merge 
error: you need to resolve your current index first 

und

git co 'master_branch for_production_branch' 
lib/tasks/foobar.rake: needs merge 
vendor/plugins/acts_as_syncable/lib/active_record/whatever.rb: needs merge 
error: you need to resolve your current index first 

Wie kann ich wieder auf 'production_branch' bekommen in meinem Arbeitsverzeichnis, so kann ich eine einfache kritische Update bereitstellen.

Antwort

9

die Luft zu sprengen alle Änderungen entfernt und der vorherigen gesetzt

git reset --hard commitsha 

Hier commitsha ist die sha-ID von git verpflichtet fusionieren. können Sie gitk oder git log verwenden Zustand Ihrer Niederlassung zu überprüfen undcommit_sha

aktualisieren herauszufinden

oder auf einem Ast git reset --hard production_branch

+1

oder 'git reset --hard HEAD' – masukomi

18

Sie

git merge --abort 

verwenden können Ihre aktuelle abbrechen Aktion zusammenführen und zu der Situation zurückkehren, bevor die Zusammenführung gestartet wurde. Weitere Informationen finden Sie unter git merge documentation.

Beachten Sie, dass es wegzuwerfen werden alle Änderungen Ihre gemacht, aber ich nehme an, dies in der aktuellen Situation ist kein Problem ...

+0

Dank! Sehr hilfreich :) – Peadar

+0

....... Danke ......... – kaxi1993