it-swarm.com.de

git wendet Änderungen von einem Commit auf einen anderen Zweig an

Ich möchte etwas Ähnliches wie Git Rebase tun, ohne parallele Commits zusammenzubrechen.

Nehmen wir an, ich habe folgende Verpflichtungen:

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

Jetzt möchte ich die Änderungen, die D in Branch foo in C eingeführt hat, auf B in der Zweigleiste anwenden. so dass ich mit dem folgenden ende ende:

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

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

26
juniper-

Ja:

git checkout -b mergebranch B
git cherry-pick D
36
cforbish

In meinem Fall musste ich die Änderungen bestimmter Commits einer anderen Branche übernehmen. Ich tat das, indem ich sie wie folgt auswählte: git cherry pick COMMIT-HASH.

0
Patrick

Wenn das letzte Commit für den Zweig, aus dem Sie eine Auswahl treffen möchten (foo im Beispiel), ein Merge-Commit ist, können Sie auf das spezifische Commit für Cherry-Pick verweisen, indem Sie git cherry-pick branchname~1 verwenden, um das Commit abzurufen, das das übergeordnete Element der verschmelzen.

0
aaaarrgh