Kurs
Git Cherry-Pick: Wie man bestimmte Commits auswählt und anwendet
Die Arbeit mit Zweigen in kollaborativen Softwareentwicklungsumgebungen ist wichtig, um Funktionen, Fehlerbehebungen oder Experimente zu isolieren. Es kann jedoch vorkommen, dass du bestimmte Änderungen aus einem Zweig in einen anderen übernehmen musst, ohne den gesamten Zweig zusammenzuführen. Hier ist git cherry-pick
von unschätzbarem Wert.
Das Ziel dieses Tutorials ist es, einen umfassenden Leitfaden für die effektive Nutzung von git cherry-pick
zu erstellen. Du lernst die Befehlssyntax kennen, verstehst, wie du mit Konflikten umgehst und erfährst, wie du am besten vorgehst und welche Fallstricke du vermeiden kannst. Lass uns loslegen!
Was ist Git Cherry-Pick?
Der Befehl git cherry-pick
ist ein grundlegender Git-Befehl, der Entwicklern eine genaue Kontrolle über ihren Quellcode ermöglicht.
Im Gegensatz zu anderen Git-Operationenwie merge
oder rebase
, die mit ganzen Zweigen arbeiten, kannst du mit cherry-pick
bestimmte Commits von einem Zweig auf einen anderen übertragen. Das sorgt für Präzision, besonders in Szenarien, in denen du nur bestimmte Änderungen integrieren musst und nicht alle Änderungen in einem Zweig.
Der Befehl git cherry-pick
kopiert den Inhalt der ausgewählten Commits und erstellt neue Commits im Zielzweig, wobei die Integrität der Commit-Historie erhalten bleibt.
Wann du git cherry-pick verwenden solltest
Zu den Anwendungsfällen für git cherry-pick
gehören:
- Fehlerbehebungen beim Backporting: Du hast einen Fehler in deinem Entwicklungszweig behoben und brauchst denselben Fix in einem stabilen oder Release-Zweig. Mit der Rosinenpickerei kannst du die Fehlerbehebung verschieben, ohne dass du unverbundene Änderungen einbringst.
- Anwenden von Hotfixes: Wenn die Produktion eine kritische Korrektur benötigt, während die Entwicklungszweige noch weiterentwickelt werden, kannst du mit dem Cherry-Picking die Korrektur extrahieren und auf den Produktionszweig anwenden.
- Isolierung von Merkmalen für Tests: Es kann sein, dass nur bestimmte Commits, die sich auf ein Feature beziehen, beim Testen getestet werden müssen. Anstatt den gesamten Funktionszweig zusammenzuführen, wird der Testzweig durch das Auswählen der benötigten Commits sauber und effizient gehalten.
- Korrigieren falscher Übertragungen: Wenn ein Commit versehentlich in den falschen Zweig verschoben wurde, kannst du den Commit in den richtigen Zweig verschieben, ohne den Projektverlauf zu unterbrechen.
- Wiederverwendung von Änderungen über mehrere Zweige hinweg: Wenn du dieselbe Aktualisierung in mehreren Zweigen benötigst, kannst du mit dem Cherry-Picking Änderungen in verschiedenen Zweigen wiederholen, ohne die Arbeit zu wiederholen oder die Zweige komplexer zu machen.
Lerne heute die Git-Grundlagen
Syntax von Git Cherry-Pick
Um diesen Befehl effektiv zu nutzen, ist es wichtig, die Syntax von git cherry-pick
zu verstehen. Es geht nicht nur um die Auswahl von Commits, sondern auch darum, sie präzise anzuwenden, um das gewünschte Ergebnis zu erzielen.
Die grundlegende Syntax für das Cherry-Picking eines einzelnen Commits lautet:
git cherry-pick <commit-hash>
git cherry-pick
: Der Befehl, der den Vorgang einleitet.: Die eindeutige Kennung (SHA-1-Hash) des Commits, den du herauspicken willst. Diesen Hash kannst du finden, indem du
git log
aufrufst, um den Commit-Verlauf aufzulisten.
Wenn du den obigen Befehl ausführst, wendet Git die Änderungen aus dem angegebenen Commit auf den aktuellen Zweig an und erstellt einen neuen Commit mit denselben Änderungen, aber einem anderen Hash.
Es ist wichtig zu wissen, dass der Befehl nur den Commit selbst überträgt, nicht aber den Kontext oder die übergeordnete Geschichte des ursprünglichen Zweigs.
Neu bei Git und GitHub? In diesemginnerfreundlichen GitHub- und Git-Tutorial kannst du mit der Versionskontrolle beginnen.
So benutzt du Git Cherry-Pick: Schritt-für-Schritt-Beispiele
Nachdem du nun die grundlegende Syntax von git cherry-pick
verstanden hast, ist es an der Zeit, den Befehl in Aktion zu sehen.
In diesem Abschnitt findest du praktische Beispiele, die dich durch gängige grundlegende und komplexere Szenarien führen, in denen Cherry-Picking sinnvoll ist. Jedes Beispiel zeigt, wie du die Änderungen von einem oder mehreren Commits auf einen anderen Zweig anwendest.
Beispiel 1: Einen einzelnen Commit herauspicken
Angenommen, du hast eine Korrektur in einem Funktionszweig vorgenommen, die du auf den Hauptzweig übertragen möchtest, ohne den gesamten Funktionszweig zusammenzuführen.
- Finde zunächst den Hash des Commits, den du dir herauspicken möchtest, indem du ihn ausführst:
git log
- Finde den Hash des Commits.
- Wechsle zum Hauptzweig:
git checkout main
- Führe den Befehl cherry-pick aus (gehe davon aus, dass der Hash
abc1234
ist):
git cherry-pick abc1234
Wenn du diesen Befehl ausführst, wendet Git die Änderungen aus dem Commit, der durch abc1234
identifiziert wurde, auf deinen aktuellen Zweig an (in diesem Fall ist das main
). Git erstellt einen neuen Commit auf dem Hauptzweig, der die gleichen Änderungen wie der ursprüngliche Commit enthält, aber mit einem neuen Commit-Hash.
Beispiel 2: Rosinenpicken mehrerer Commits
In manchen Situationen musst du mehrere verschiedene Commits von einem Branch auf einen anderen übertragen. Angenommen, du hast drei verschiedene Commits in deinem Feature-Branch, die du in den Main-Branch bringen musst.
- Finde die Commit-Hashes für jeden Commit, den du dir herauspicken willst, mit
git log
:
git log
- Wechsle zum Hauptzweig:
git checkout main
- Führe den Befehl cherry-pick aus und liste die Commits auf:
git cherry-pick abc1234 def5678 ghi7890
Beispiel 3: Eine Auswahl an Commit-Bereichen treffen
Angenommen, du hast eine Reihe von Commits auf dem Feature-Branch gemacht und möchtest sie in einem Rutsch auf den Main Branch übertragen, ohne jeden Commit einzeln anzugeben. Wie würdest du es machen?
- Verwende
git log
, um die Start- und End-Commits zu kennzeichnen, die du herauspicken möchtest (z.B.abc1234
bisghi7890
). - Wechsle zum Hauptzweig:
git checkout main
- Führe den Befehl cherry-pick mit einem Commit-Bereich aus:
git cherry-pick abc1234...ghi7890
Beispiel 4: Einen Commit aus einem entfernten Zweig herauspicken
Manchmal gibt es eine kritische Korrektur in einem entfernten Zweig und du möchtest sie in deinem lokalen Zweig anwenden, ohne den gesamten Zweig zusammenzuführen. So geht's:
- Holt die neuesten Änderungen aus dem entfernten Repository
git fetch origin
- Listet die Commits im Remote-Zweig auf, um den Hash zu finden, den ihr braucht:
git log origin/feature_branch --oneline
- Angenommen, der benötigte Commit-Hash lautet
abc1234
. - Wechsle zu deiner örtlichen Hauptfiliale:
git checkout main
- Nimm den Commit aus dem entfernten Zweig mit:
git cherry-pick abc1234
So kannst du einen Commit aus einem entfernten Zweig anwenden, ohne den gesamten Zweig zusammenzuführen.
Musst du eine entfernte Filiale überprüfen? Folge dieser Schritt-für-Schrittp Anleitung zum Git Checkout für entfernte Zweige.
Beispiel 5: Einen Commit herauspicken und ihn modifizieren
Wenn du einen Commit auswählst, aber vor dem Commit noch kleine Änderungen vornehmen musst, kannst du den interaktiven Modus von Git verwenden. Und so geht's:
- Wechsle zum Zielzweig:
git checkout main
- Wähle den Commit aus, aber stoppe ihn vor dem Commit:
git cherry-pick -n abc1234
Das -n
(oder --no-commit
) Flag wendet die Änderungen an, erstellt aber keinen Commit.
- Ändere die Dateien nach Bedarf.
- Stufe und bestätige die Änderungen manuell:
git add .
git commit -m "Modified cherry-picked commit from feature_branch"
Das ist nützlich, wenn du einen ausgewählten Commit vor der Fertigstellung noch einmal überarbeiten musst.
Umgang mit Konflikten beim Git Cherry-Pick
Konflikte sind unvermeidlich, wenn du Commits zwischen Zweigen auswählst, vor allem, wenn die Codebasis stark voneinander abgewichen ist.
cherry-pick
ist zwar so konzipiert, dass Änderungen sauber übernommen werden, kann aber Unterschiede nicht immer automatisch ausgleichen. In diesen Fällen müssen die Konflikte manuell gelöst werden. Zu verstehen, wie Konflikte entstehen und wie man mit ihnen umgeht, ist entscheidend für den Abschluss einer cherry-pick
Operation.
Wie Konflikte entstehen
Konflikte treten in der Regel auf, wenn sich die Änderungen aus dem Cherry-Picked-Commit mit Änderungen überschneiden, die bereits im Zielzweig vorhanden sind, oder diesen widersprechen. Zum Beispiel:
- Dieselbe Zeile wurde in beiden Zweigen geändert: Wenn dieselbe Codezeile sowohl im Quell- als auch im Zielzweig geändert wird, weiß Git nicht, welche Version es anwenden soll.
- Datei in einem Zweig gelöscht, aber in einem anderen geändert: Wenn eine Datei in einem Zweig gelöscht, aber im Cherry-Picked-Commit geändert wird, weiß Git nicht, ob es die Datei behalten oder die Änderungen übernehmen soll.
- Unveränderte Änderungen, aber dieselbe Datei: Auch wenn die Änderungen scheinbar nichts miteinander zu tun haben, kann Git sie als potenziellen Konflikt kennzeichnen, wenn sie in derselben Datei vorkommen.
Wenn ein Konflikt auftritt, stoppt Git den Vorgang cherry-pick
und lässt dein Arbeitsverzeichnis in einem Konfliktzustand zurück, der vor dem Fortfahren aufgelöst werden muss.
Konflikte lösen
Sobald ein Konflikt auftritt, zeigt Git die widersprüchlichen Dateien an, und du musst die Unstimmigkeiten manuell auflösen. Hier erfährst du, wie du Konflikte lösen kannst:
1. Überprüfe die widersprüchlichen Dateien: Führe den folgenden Befehl aus, um zu sehen, welche Dateien in Konflikt stehen:
git status
Der Befehl zeigt die Liste der Dateien mit Konflikten an.
2. Löse die Konflikte: Du kannst die widersprüchlichen Dateien manuell bearbeiten, um die Probleme zu lösen. Entferne die Konfliktmarkierungen (<<<<<<<, =======, >>>>>>>
) und entscheide, welche Änderungen du beibehalten oder wie du sie kombinieren willst.
3. Verwende das Git Mergetool (optional): Wenn das manuelle Lösen von Konflikten mühsam ist, kannst du ein Zusammenführungswerkzeug verwenden, das dich bei der Visualisierung und Lösung von Konflikten unterstützt:
git mergetool
Je nach Konfiguration öffnet das obige Tool ein visuelles Zusammenführungswerkzeug, das die Überprüfung und Lösung von Konflikten erleichtert.
4. Markiere die Konflikte als gelöst: Nachdem du die Konflikte gelöst hast, markiere die Dateien als gelöst mit:
git add <conflicted-file>
5. Schließe die Kirschpflückung ab: Sobald alle Konflikte gelöst und die Dateien bereitgestellt sind, beendest du den Cherry-Pick, indem du ihn ausführst:
git cherry-pick --continue
Viele moderne IDEs und Tools, wie z.B. Visual Studio Code und GitHub, bieten integrierte Funktionen zur Lösung von Konflikten beim Zusammenführen. Die Weboberfläche von GitHub ermöglicht es dir, Konflikte direkt in Pull Requests zu lösen, was die Zusammenarbeit an gemeinsamen Repositories erleichtert, ohne dass du in eine lokale Umgebung wechseln musst.
Überspringen eines Commits nach einem Konflikt
Manchmal kann es sein, dass die Lösung eines Konflikts zu komplex ist oder dass du feststellst, dass die Verpflichtung gar nicht notwendig ist. In solchen Fällen kannst du den Commit ganz überspringen.
1. Brich den aktuellen Cherry-Pick-Prozess ab: Wenn der Konflikt zu kompliziert ist und du den Commit nicht anwenden willst, kannst du ihn überspringen, indem du ihn ausführst:
git cherry-pick --skip
Dadurch wird der konfliktbehaftete Commit verworfen und mit dem nächsten fortgefahren (wenn du mehrere Commits auswählst).
2. Brich die gesamte Rosinenpickerei ab: Wenn du den Vorgang cherry-pick
ganz abbrechen möchtest, kannst du ihn ausführen:
git cherry-pick --abort
Mit diesem Befehl wird dein Arbeitsverzeichnis in den Zustand zurückversetzt, in dem es war, bevor du den Cherry-Pick gestartet hast.
Du willst deinen Commit-Verlauf bereinigen? In diesem Git-Squash-Tutorial erfährst du, wie du mehrere Commits zu einem zusammenfassen kannst.
Best Practices für die Verwendung von Git Cherry-Pick
Die falsche Verwendung von cherry-pick
kann zu komplizierten Verläufen und Verwirrung in der Versionskontrolle deines Projekts führen. Um diese Fallstricke zu vermeiden, solltest du dich an die Best Practices halten, damit du cherry-pick
effektiv nutzen kannst, ohne deine Codebasis unnötig zu verkomplizieren.
Halte es klein und spezifisch
Cherry-Picking ist am effektivsten, wenn es für kleine, spezifische Commits verwendet wird, die klar definierte Aufgaben betreffen, wie z.B. Bugfixes oder kleinere Funktionserweiterungen.
Vermeide große, komplexe Commits, die mehrere Änderungen bündeln, da dies zu Konflikten führen und die Verwaltung der Codebasis erschweren kann. Je gezielter die Verpflichtung, desto einfacher ist es, sie ohne unerwünschte Nebenwirkungen anzuwenden.
Dokumentiere deine Rosinenpickerei
Um eine klare Geschichte zu erhalten, solltest du immer den richtigen Kontext angeben, wenn du eine Auswahl triffst. Dies kann durch detaillierte Commit-Meldungen oder Anmerkungen in der Dokumentation geschehen.
Das Wichtigste ist, dass du erklären musst, warum eine Auswahl notwendig war. Das ist besonders wichtig, wenn du in langlebigen Zweigen oder kollaborativen Umgebungen die Rosinen herauspickst, denn so können zukünftige Mitwirkende besser verstehen, warum die Änderungen selektiv vorgenommen wurden.
Überprüfe den Commit-Verlauf
Bevor du dir die Rosinen herauspickst, solltest du die Commit-Historie des Quell- und des Zielzweigs überprüfen. Mit diesem Schritt kannst du feststellen, ob der Commit, den du auswählen willst, von anderen Änderungen abhängt. Fehlende Abhängigkeiten können zu unvollständigen Funktionen oder Fehlern führen, also stelle sicher, dass der Cherry-Pick keine unausgereiften Funktionen oder Updates einführt.
Vermeiden Sie die übermäßige Verwendung von Rosinenpickerei
Das Cherry-Picking ist zwar praktisch, um bestimmte Änderungen zu übernehmen, aber wenn du es übertreibst, kann es zu einer fragmentierten Geschichte mit doppelten Commits in verschiedenen Zweigen führen. Das kann es schwierig machen, den Ursprung bestimmter Veränderungen nachzuvollziehen oder den breiteren Entwicklungskontext zu verstehen.
Wäge immer ab, ob Zusammenführen oder Umbasieren die bessere Strategie ist, bevor du dir die Rosinen herauspickst. Verwende cherry-pick
sparsam und gezielt, um die Commit-Historie nicht zu überladen.
Hast du Probleme mit unnötigen Dateien in Git? Lerne mit in diesem Git Ignore Tutorial, wie du .gitignore
effektiv nutzen kannst.
Fehlersuche bei häufigen Problemen mit Git Cherry-Pick
Die Behebung von Problemen, die bei der Verwendung von cherry-pick
auftreten, erfordert ein klares Verständnis der zugrunde liegenden Mechanismen von Git. In diesem Abschnitt gehe ich auf einige häufige Probleme ein, auf die du bei der Rosinenpickerei stoßen kannst, und zeige dir, wie du sie lösen kannst.
Einen Commit auswählen, der nicht existiert
Manchmal kann es vorkommen, dass du versuchst, einen Commit zu wählen, der im aktuellen Zweig nicht zugänglich ist oder bereits zusammengeführt wurde. Dies führt normalerweise zu einer Fehlermeldung, die besagt, dass der Commit nicht gefunden oder angewendet werden konnte.
1. Commit nicht gefunden: Das passiert, wenn der Commit-Hash, den du dir herauspicken willst, in deinem aktuellen Repository oder Branch-Kontext nicht existiert. Stelle sicher, dass du auf den richtigen Commit verweist, indem du die Commit-Historie mit git log
auf dem Zweig überprüfst, in dem der Commit existiert. Lösung:
- Überprüfe den Commit-Hash noch einmal, um sicherzustellen, dass er korrekt ist.
- Überprüfe, ob der Commit in einem Zweig existiert, auf den du Zugriff hast.
- Wenn die Übergabe in einem entfernten Zweig stattfindet, stelle sicher, dass der Zweig mit
git fetch
geholt wurde.
2. Commit bereits angewendet: Wenn der Commit bereits in den Zielzweig zusammengeführt oder gepickt wurde, verhindert Git, dass du ihn duplizierst. So bleibt der Verlauf sauber und überflüssige Änderungen werden vermieden. Lösung:
- Verwende
git log
, um zu prüfen, ob der Commit bereits im Zielzweig ist. - Falls nötig, überspringe den Vorgang
cherry-pick
, da die Änderungen bereits übernommen wurden.
Rosinenpickerei nach einem Rebase oder einer Zusammenführung
Cherry-Picking nach einem Rebase oder Merge kann aufgrund der veränderten Historie deiner Zweige zu Problemen führen. Beim Rebasing wird die Commit-Historie neu geschrieben, während beim Merging Zweige zusammengeführt werden.
1. Konflikte aufgrund von Rebased Commits: Nach einem Rebase wird die Commit-Historie neu geschrieben, was zu Problemen führen kann, wenn du versuchst, Commits herauszupicken, die während des Rebase-Prozesses geändert wurden. Es kann zu Konflikten kommen, wenn cherry-pick
versucht, Änderungen anzuwenden, die nicht mit der neu geschriebenen Geschichte übereinstimmen. Lösung:
- Überprüfe die Commit-Historie nach einem Rebase mit
git log
sorgfältig, um sicherzustellen, dass der Commit, den du dir herauspicken willst, nicht bereits geändert wurde. - Löse Konflikte wie in einem normalen
cherry-pick
Prozess, indem dugit status
und manuelle Bearbeitungen verwendest.
2. Doppelte Commits nach einer Zusammenführung: Das Zusammenführen von Zweigen kann dazu führen, dass ein Commit, den du dir herauspicken willst, bereits in der zusammengeführten Geschichte enthalten ist. Ein erneutes Herauspicken kann zu doppelten Commits führen, die deinen Lernpfad durcheinander bringen und es schwierig machen, Änderungen nachzuvollziehen. Lösung:
- Vor dem Cherry-Picking solltest du den Commit-Verlauf beider Zweige überprüfen, um festzustellen, ob der Commit bereits zusammengeführt wurde.
- Vermeide es, denselben Commit zu wählen, wenn er bereits im Zielzweig ist.
Willst du Änderungen in Git rückgängig machen? Erfahre, wann du git reset
vs. git revert
in diesemis Git reset and revert Tutorial verwenden solltest.
Fazit
git cherry-pick
ist eine leistungsstarke Methode, um bestimmte Commits von einem Zweig auf einen anderen anzuwenden, ohne den gesamten Zweig zusammenzuführen. Egal, ob du einen Bugfix oder ein Feature-Update verschiebst oder nur selektiv Änderungen vornimmst, es hilft dir, deinen Git-Verlauf sauber und konzentriert zu halten.
In diesem Leitfaden habe ich beschrieben, wie man einzelne und mehrere Commits auswählt, Konflikte auflöst und Best Practices befolgt, um häufige Fallstricke zu vermeiden. Wenn du cherry-pick
klug einsetzt, kannst du deinen Arbeitsablauf verbessern und gleichzeitig für Ordnung in deinem Repository sorgen.
Wenn du deine Git-Kenntnisse vertiefen möchtest, ist Foundations of Git ein guter Startpunkt. Du kannst dich auch mit der Einführung in die GitHub-Konzepte beschäftigen oder einen strukturierten Ansatz mit dem Lernpfad GitHub Foundations wählen.
Jetzt, wo du weißt, wie du wie ein Profi Kirschen pflücken kannst, kannst du es bei deinem nächsten Projekt ausprobieren!
Lerne heute die Git-Grundlagen
FAQs
Was passiert, wenn ich denselben Commit zweimal auswähle?
Wenn du versuchst, einen Commit zu picken, der bereits auf den Zielzweig angewendet wurde, erstellt Git möglicherweise einen doppelten Commit mit einem neuen Hash. Um zu prüfen, ob ein Commit bereits durchgeführt wurde, verwende:
git log --oneline
Wenn du dir unsicher bist, kannst du auch die Option
git cherry-pick -n
Dadurch werden die Änderungen übernommen, ohne dass sie festgeschrieben werden, und du kannst sie vor der Fertigstellung überprüfen.
Kann ich Commits aus einem gelöschten Branch herausnehmen?
Ja! Auch wenn der Zweig gelöscht wurde, können die Commits noch in der Git-Historie vorhanden sein.
Verwende git reflog
, um den Commit-Hash zu finden, und wähle ihn dann wie gewohnt aus.
Wenn Git den Zweig jedoch bereits zugemüllt hat, können die Commits verloren gehen.
Wie wähle ich einen Commit aus einem anderen Repository aus?
Um von einem anderen Repository zu picken, füge es zunächst als Remote hinzu:
git remote add other-repo
git fetch other-repo
Dann identifiziere den Commit und wähle ihn aus:
git cherry-pick
Kann ich einen Commit, der Dateilöschungen enthält, herauspicken?
Ja, beim Cherry-Picking bleiben alle Änderungen im Commit erhalten, auch das Löschen von Dateien. Wenn ein Commit eine Datei löscht, wird die Datei im Zielzweig durch Cherry-Picking entfernt.
Wie mache ich einen Cherry-Pick rückgängig?
Wenn du aus Versehen einen Commit ausgewählt hast und ihn noch nicht gepusht hast, kannst du ihn mit rückgängig machen:
git reset --hard HEAD~1
Wenn du den Cherry-Pick bereits gedrückt hast, verwende:
git revert
Dadurch wird ein neuer Commit erstellt, der die herausgepickten Änderungen rückgängig macht.
Was ist der Unterschied zwischen git cherry-pick und git apply?
git cherry-pick
kopiert einen bestimmten Commit und wendet ihn auf den Zielzweig an, wobei die Commit-Metadaten erhalten bleiben.git apply
wird verwendet, um Patchdateien (die mitgit diff
erstellt wurden) anzuwenden, aber es wird kein neuer Commit erstellt und die Commit-Historie bleibt erhalten.
Wie kann ich einen Commit herauspicken, ohne den ursprünglichen Autor zu verlieren?
In der Standardeinstellung legt git cherry-pick
dich als Autor fest. Um den ursprünglichen Commit-Autor beizubehalten, verwende:
git cherry-pick -x
Dadurch wird in der neuen Commit-Nachricht ein Verweis auf den ursprünglichen Commit hinzugefügt.
Kann ich mehrere nicht aufeinanderfolgende Commits herauspicken?
Ja! Anstatt einen Bereich anzugeben, listest du die einzelnen Commit-Hashes auf:
git cherry-pick
Das ist nützlich, wenn du nur ausgewählte Commits aus einem Branch benötigst.
Wie verhindere ich Konflikte beim Rosinenpicken in verschiedenen Zweigen?
Bevor du dir die Rosinen herauspickst, solltest du sicherstellen, dass dein Zweig auf dem neuesten Stand ist:
git pull origin main
Überprüfe auch den Commit-Verlauf, um sicherzustellen, dass die Änderungen nicht von anderen fehlenden Commits abhängen. Wenn Konflikte auftreten, löse sie manuell auf und fahre fort:
git cherry-pick --continue
Wann sollte ich git cherry-pick nicht verwenden?
Die übermäßige Verwendung von git cherry-pick
kann zu einer unordentlichen Commit-Historie mit doppelten Commits in verschiedenen Zweigen führen. Am besten vermeidest du sie, wenn:
- Die Änderungen umfassen mehrere abhängige Commits -
merge
oderrebase
sind vielleicht die bessere Wahl. - Du musst regelmäßig Zweige synchronisieren - das Zusammenführen hält den Verlauf sauber.
- Der Commit enthält größere Refactors, da durch das Cherry-Picking nur bestimmte Änderungen verschoben werden, nicht aber der breitere Branch-Kontext.

Lerne mit diesen Kursen mehr über Git!
Kurs
Intermediate Git
Lernpfad
GitHub Foundations

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.
Der Blog
Die 32 besten AWS-Interview-Fragen und Antworten für 2024
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.
Der Blog