git merge nur widerspruchsfreie Commits

303
larkey

Die Idee ist, mergeB in Zweig A zu verzweigen, wobei jedoch nur Commits zusammengeführt werden sollen, die sich nicht in dem Prozess befinden würden (natürlich können dadurch auch andere Commits "in Konflikt geraten", da sie von einem früheren Konflikt abhängen, aber das ist in Ordnung).

Ich denke, das kann nicht wirklich genannt werden verschmelzenden als ein paar Commits überspringt und es ist mehr wie ein cherry-pick:

cherry-pick alle Festschreibungen werden in historischer Reihenfolge ausgeführt und diejenigen, die nicht funktionieren, übersprungen

Aber gibt es einen anderen (besseren) Weg, dies zu tun? Ich brauche auf jeden Fall eine Liste all dieser übersprungenen Commits. In diesem Fall muss diese Liste bereitgestellt werden.

Wenn ich am Ende ein Bash-Skript schreibe, das alle Commits durchläuft, ist eine solche Liste natürlich möglich. Aber ich bitte Sie nicht, eine zu schreiben, ich möchte nur sicherstellen, dass es keinen einfacheren / besseren Weg gibt, bevor Sie dies tun!

0
Haben Sie [diese Antwort auf Stack Overflow] (http://stackoverflow.com/a/10697551/117259) betrachtet? JakeGould vor 8 Jahren 0
Wenn ich das richtig verstanden habe, wäre das die Lösung, danke! Wissen Sie genau, was passiert, wenn ein Commit unauflösbar ist? "Änderungen aus dem anderen Baum, die nicht mit unserer Seite in Konflikt stehen, werden im Zusammenführungsergebnis angezeigt." - Ich bin mir nicht ganz sicher, was "sich auf das Zusammenführungsergebnis beziehen soll". Ist es das, was ich mit meiner "Liste nicht zu übertragender Commits" meine? larkey vor 8 Jahren 0
Keine Ahnung. Mein Vorschlag? Erstellen Sie einfach ein Test-Repository und sehen Sie, was passiert. JakeGould vor 8 Jahren 0
@JakeGould Das werde ich auf jeden Fall tun, ich bin einfach zu müde, um das heute zu tun - es ist viel zu spät :-) larkey vor 8 Jahren 0
@JakeGould, ich hätte völlig vergessen, meine Ergebnisse zu kommentieren, sorry! Ich habe dies versucht, aber leider wäre es im Grunde gleichwertig, wenn man die Dateien von Zweig B in Zweig A kopiert und die Ergebnisse als "Zusammenführen" bereitstellt. es verschmilzt in einem Commit mit einem großen diff: / larkey vor 8 Jahren 0

0 Antworten auf die Frage