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

Lesezeit: 1 Minute

Benutzer-Avatar
Wacholder-

Ich möchte etwas Ähnliches wie Git Rebase machen, aber ohne parallele Commits zu kollabieren.

Nehmen wir an, ich habe die folgenden Commits:

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

Jetzt möchte ich die Änderungen, die D im Zweig foo an C vorgenommen hat, übernehmen und sie im Zweig bar auf B anwenden. damit komme ich auf folgendes:

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

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

Ja:

git checkout -b mergebranch B
git cherry-pick D

  • Um die obige Antwort zu präzisieren: git checkout -b mergebranch B erstellt einen neuen Zweig namens mergebranch Verzweigung verwenden B als Ausgangspunkt. git cherry-pick D wendet die Änderungen an, die durch das Commit an der Spitze des Zweigs eingeführt wurden D.

    – Patrick

    17. April 2019 um 11:57 Uhr


  • Cherry-Pick ohne Commit-Befehl: git cherry-pick -n <SHA>

    – Emre Tapcı

    13. Januar um 8:52


Benutzer-Avatar
Patrick

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

  • Hinweis: Sie müssen sich in dem Zweig befinden, in dem Sie die Änderungen aus dem Commit anwenden möchten.

    – nessa.gp

    10. Juli 2020 um 8:02 Uhr

Wenn der letzte Commit auf dem Zweig, aus dem Sie die Kirsche auswählen möchten (foo in dem Beispiel), ein Zusammenführungs-Commit ist, können Sie auf den spezifischen Commit für die Kirsche auswählen, indem Sie verwenden git cherry-pick branchname~1 um den Commit zu erhalten, der der Elternteil der Zusammenführung war.

1286150cookie-checkgit wendet Änderungen von einem Commit auf einen anderen Zweig an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy