Cherry-Pick Merge Commit in Git

Abdul Jabbar 31 Mai 2022
  1. den git cherry-pick-Befehl in Git
  2. Cherry-Pick-Merge-Commit in Git
Cherry-Pick Merge Commit in Git

Wenn mehrere Entwickler desselben Teams an einem Projekt arbeiten, egal ob dieses Projekt groß oder klein in der Komplexität ist, wird es sehr schwierig, Änderungen zwischen Git-Zweigen zu handhaben und zu verwalten.

Gelegentlich müssen bestimmte Commits in einem anderen Zweig kombiniert werden, anstatt den gesamten Zweig zu kombinieren, und zu diesem Zweck verwenden wir ein wichtiges Tool in Git, das im Volksmund als Cherry Picking bekannt ist.

Cherry Picking ist ein gutes Werkzeug, um nur einen Commit aus einer ganzen Liste von Commits in einem Repository-Zweig auszuwählen.

den git cherry-pick-Befehl in Git

git cherry-pick ist ein einflussreicher Befehl, der es ermöglicht, zufällige Git-Commits von einem Zweig in einem Repository zu verschieben und zum aktuellen HEAD des Repositorys hinzuzufügen. Dieser Befehl ist auch nützlich, um Änderungen rückgängig zu machen, die sich auf die vom Team durchgeführte vergangene Entwicklung beziehen.

Wenn wir zum Beispiel versehentlich ein Commit in den falschen Branch gemacht haben, wechseln wir zum richtigen Branch und picken das Commit an die richtige Stelle, wo es in einem neuen Branch des Repositorys hingehört.

Beim Arbeiten mit git merge oder git rebase werden alle Commits aus einem Branch gemischt. Während der cherry-pick-Befehl es uns ermöglicht, ausgewählte Commits für die Assimilation auszuwählen.

Cherry-Pick-Merge-Commit in Git

Das Rosinenpicken eines Merge-Commits ist nicht so einfach, wie es aussieht. Wenn wir die Merge-Prozedur ausführen, arbeiten wir gleichzeitig mit zwei Zweigen desselben Repositorys.

Beispielsweise wird ein Branch parent-B mit den Git-Befehlen in den Branch parent-A gemergt.

Wenn wir also den spezifischen Commit auswählen, der eine Zusammenführung mit zwei Eltern war, müssen wir dem Befehl cherry-pick mitteilen, gegen welchen der diff verwendet werden soll, indem wir die Option -m verwenden. Wir werden den spezifischen übergeordneten Zweig mit dem commit hash im folgenden Befehl erwähnen.

Die Syntax für die obige Situation wird wie folgt erklärt.

git cherry-pick -m <commit hash>

Lassen Sie uns die Situation mit dem folgenden Beispiel des obigen Befehls erklären.

M - N - O - P - Q (branch A)
     \     /
      R - S - T (branch B)

Wie oben gezeigt, ist P der Merge-Commit. Wenn wir den Befehl git cherry-pick ausführen, gibt Git eine Warnung über den Befehl aus.

Jetzt müssen wir also die Nummer des übergeordneten Zweigs mit der Commit-ID angeben. Dies wird im folgenden Befehl ausgeführt.

git cherry-pick -m 1 P

Dieser cherry-pick-Befehl nimmt alle Commits von O- P aus dem obigen Beispiel.

Wir können die obige Aktion auch mit dem folgenden Befehl ausführen.

git cherry-pick -m 2 P

Dadurch werden alle Commits von R- S- P aus dem obigen Beispiel ausgewählt.

Hinweis: Das Rosinenpicken eines Commits in einem Branch mit dem Merge-Commit-Befehl ist zu schädlich, also gehen Sie bei der Arbeit damit immer mit Vorsicht vor. Es besteht ein hohes Risiko, dass der Verlauf des in der Vergangenheit durchgeführten Commits verloren geht.

Es unterbricht alle Änderungen, die wir im übergeordneten Element vorgenommen haben, und wir haben in diesem einen Commit kein -m definiert.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Cherry-Pick