2016-04-13 13 views
0

Gibt es häufige Fehler bei der Verwendung von Git oder überhaupt irgendwelche Gründe, warum eine Wiederholung die Konflikte aus der vorherigen Rebase wiederholen würde, wenn diese Konflikte alle in der vorherigen Rebase gelöst worden wären?
Hat rebase darüber hinaus eine Präferenz, wie der Konflikt gelöst wurde? z.B. Möchte Rebase eine strikte Wahl zwischen den beiden möglichen Codeschnipsel in den üblichen Git Konflikt Klammern innerhalb des Codes oder ist es nur so günstig, um alles zwischen dem >>>, <<< zu entfernen? Ich bin gespannt, ob das Entfernen beider Codeoptionen zur Lösung des Konflikts Auswirkungen auf die Fähigkeit von Rebase hat, spätere Konflikte korrekt zu lösen.Git Rebase wiederholt Konflikte von der letzten Rebase

Weitere Ausführungen: Ich habe einen master Zweig und einen dev Zweig. Der Zweig dev Ich habe seit einiger Zeit auf der Seite gearbeitet, so dass die Anzahl der unterschiedlichen Commits ziemlich groß geworden ist, in den 100ern (ich weiß ... sollte dev in master öfter). dev Branch selbst hat mehrere kleinere Feature Zweige aus ihm geschnitten und dann wieder zusammengeführt, nur je geschnitten worden, rebased, fusioniert mit dev Zweig und nie master Zweig (das kann ich mich erinnern). Ich habe dev Filiale auf master Zweig vor 1 Woche rebased. Ich habe seitdem ein paar Änderungen am dev Zweig vorgenommen und möchte erneut auf master rebase, damit ich mich auf eine Zusammenführung vorbereiten kann. Es gab eine sehr kleine Änderung an master Zweig in diesem 1-Wochen-Fenster, aber die Code-Dateien nicht überlappen. Wenn ich jedoch dev auf master umbasiere, sehe ich die gleiche Reihe von Konflikten, die von git ausgelöst werden, wenn ich die aktuelle Rebase versuche, verglichen mit der, als ich vor einer Woche rebasiert habe.

Danke!

Antwort

4

Im Allgemeinen ist es normal - wenn Sie wie diese Rebase statt Mergen (z. B. Master in dev), dann wird die Wiederholung der gleichen Patches wahrscheinlich die gleichen Konflikte erzeugen.

Sie können git rerere verwenden, um Ihre Auflösungen zu speichern, wenn dies ein häufiges Problem in Ihrem Workflow ist.