2017-01-22 2 views
0

die folgende Situation vor: Wir haben die folgenden Branchen:Wie cherry-pick to/rebase/etc das Endergebnis Konflikt lösen

  • A, die unsere alten Basislinie
  • B ist, die unsere neu Baseline
  • C Welche neuen Änderungen auf der Spitze eines
  • D entwickelt, die Zusammenführung B und C entwickelt wird, und Konflikte werden hier gelöst

Jetzt müssen wir einige Commits auf D modifizieren und neu erstellen. Da aber rebase die Commits per se (und nicht das Endergebnis der Auflösung) verwendet, sieht es so aus, als müssten wir die Konflikte erneut lösen.

Gibt es eine Möglichkeit, an Commits von D zu arbeiten, ohne die gleichen Konflikte lösen zu müssen?

+0

Haben Sie versucht, direkt Rosinenpickerei Commits auf der D? – merlin2011

Antwort

0

Ich denke, Sie suchen nach git rebase --preserve-merges. Ohne diese Option werden die ursprünglichen Zusammenführungs-Commits ignoriert und nur die Nicht-Zusammenführungs-Commits bestätigt, sodass Sie einige bereits durchgeführte Zusammenführungskonflikte lösen können.

Referenz: What exactly does git's "rebase --preserve-merges" do (and why?)

+0

Sie müssen 'rerere' * aktivieren, bevor * Sie sogar die anfängliche Konfliktlösung durchführen, um dies am einfachsten zu machen. – Mort

+0

Vielen Dank jbu, das war es! Und wird in Zukunft rerere ermöglichen, danke @Mort :) – Solarius

Verwandte Themen