Unterschied in der Zusammenführungsreihenfolge von Git?

8

Gibt es einen Unterschied zwischen

? %Vor%

und

%Vor%

? Gibt es auch einen Unterschied zwischen

? %Vor%

und

%Vor%

?

    
Chin 18.02.2014, 23:02
quelle

2 Antworten

7

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:

Fall 1: git merge c1 c2

%Vor%

Fall 2: git merge c2 c1

%Vor%

Fall 3: git checkout c1; git merge c2

%Vor%

Fall 4: git checkout c2; git merge c1

%Vor%     
janos 18.02.2014, 23:25
quelle
1

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

    
SzG 18.02.2014 23:14
quelle

Tags und Links