Mainline übergeordnete Nummer an, wenn cherry picking merges

Nehme an, dies ist meine git Geschichte

 Z 
/
A -- C -- D 
\ /
B 

Mein KOPF ist derzeit bei Z. Ich möchte zum cherry-pick B und C. Wenn mein Verständnis richtig ist, sollte ich dies tun:

git cherry-pick B
git cherry-pick C -m 1
git commit --allow-empty

Funktionierte es in meinem Fall, weil C ist ein no-op (daher die leeren Begehen, danach brauchte ich den commit aus anderen Gründen), aber ich Frage mich, was die parameter nach -m tut. Hier ist, was ich gelesen habe von die docs:

-m Eltern-Anzahl

--mainline Eltern-Anzahl

In der Regel können Sie nicht cherry-pick einen merge, weil Sie nicht wissen, welche Seite der merge sollte als die Hauptschnur. Diese option gibt die übergeordnete Nummer (beginnend mit 1) der Fernbahn und ermöglicht cherry-pick nachspielen, die änderung im Vergleich zu dem angegebenen parent.

In meinem Fall C hat zwei Eltern, aber wie kann ich wissen, was man 1 und 2, und noch wichtiger, Wann ist es egal, wenn ich wählen, 1 oder 2?

  • Dies scheint hauptsächlich ein Duplikat der stackoverflow.com/questions/9229301/... ... oder ist deine Frage wirklich, ob man bestimmen kann, die übergeordnete Nummer aus dieser graph zeichnen? (Antwort: Nein), oder: gibt es ein Determinismus über 1. vs 2. Elternteil bei der Zusammenführung? (Antwort: ja, nicht genug Platz im Kommentar für mehr).
  • Was wollen Sie mit Ihrer resultierenden die Geschichte Aussehen? Wollen Sie C' haben Eltern Z und B'? Warum brauchen Sie, um cherry-pick der C wenn Sie bereits handverlesene B?
  • Ich möchte, dass meine entstehende Geschichte auf, die Filiale zu A -- Z -- B' -- C' (wenn es einfacher für C' haben mehrere Eltern, die funktioniert auch). Ich muss cherry-pick, die Begehen für die die Informationen über den Autor trotz "leer"
  • Ich tatsächlich gelesen, dass die Frage vor dieses posting und die Antwort besagt, dass der merge-commit stellt mehrere verschiedene diffs und hat mehrere Eltern mit einem Beispiel -m 1, aber nicht wirklich erweitern, was der Unterschied ist. Die Erweiterung auf Ihre zweite Frage und vielleicht zeigt die Unterschiede zwischen den 1. vs 2. Elternteil wäre wirklich hilfreich, denke ich.
Schreibe einen Kommentar