git wendet Änderungen von einem Commit auf einen anderen Zweig an
Lesezeit: 1 Minute
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
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.
12861500cookie-checkgit wendet Änderungen von einem Commit auf einen anderen Zweig anyes