2013-06-12 11 views
21

Ich möchte etwas ähnliches wie Git Rebase, aber ohne kollabierende Parallel-Commits.git Änderungen von einem Commit auf einen anderen Zweig anwenden

Lassen Sie uns sagen, dass ich die folgenden Commits haben:

B (bar) 
/
A-C-D (foo) 

Jetzt habe ich die Änderungen zu übernehmen wollen, die C in Zweig foo eingeführt D und wenden sie in der Zweig bar nach B. so dass ich mit dem folgenden Ende:

B-E (bar) 
/
A-C-D (foo) 

Wo der Unterschied zwischen Ist dies möglich, zwischen verpflichtet C und D zu Differenz gleich B und E verpflichtet? Gibt es eine Möglichkeit, dies zu tun, ohne einen Patch zu erstellen?

Antwort

32

Ja:

git checkout -b mergebranch B 
git cherry-pick D 
0

Wenn die letzten auf dem Zweig verpflichten, die Sie aus (im Beispiel foo) zu cherry-pick wollen, ist eine Zusammenführung verpflichten, Sie bei den spezifischen verpflichten, Kirsche Pick zeigen können indem Sie git cherry-pick branchname~1 verwenden, um das Commit zu erhalten, das das übergeordnete Element der Zusammenführung war.

Verwandte Themen