Das Endergebnis in Bezug auf den Dateiinhalt sollte in allen von Ihnen beschriebenen Fällen gleich sein.
Aber es wird einen Unterschied in der DAG geben, in der Reihenfolge der Commits im Graphen aller Commits, zum Beispiel:
git merge c1 c2
git merge c2 c1
git checkout c1; git merge c2
git checkout c2; git merge c1
Ich würde mit der zweiten Frage beginnen.
Die resultierenden Baumobjekte in den Zusammenführungs-Commits sind identisch.
Die beiden Commit-Objekte sind jedoch nicht:
Die Reihenfolge der beiden übergeordneten Festschreibungsobjekte ist unterschiedlich.
Dies kann zu subtilen Unterschieden führen, wenn auf Commits mit der HEAD^1~5
-Notation verwiesen wird.
Gleiches gilt für die erste Frage: 1. Fall, 1. Elternteil = aktueller Zweig, letzter Zwang, 2. Elternteil = c1 letzter Commit, 3. Elternteil = c2 letzter Commit. 2. Fall, 1. Elternteil = aktueller Zweig, letzte Übergabe, 2. Elternteil = c2 letzter Einsatz, 3. Elternteil = c1 letzter Einsatz
Tags und Links git