Kopieren Sie Änderungen von einem Branch in einen anderen in Git
Dieser Artikel beschreibt zwei Methoden, die wir verwenden können, um Änderungen von einem Branch in einen anderen in Git zu kopieren.
Kopieren Sie Änderungen von einem Branch in einen anderen in Git
Wir kennen den Befehl git merge
nur allzu gut. Wir können es verwenden, um zwei Zweige zu einem zusammenzuführen.
Dieser Befehl kann auch eine Methode sein, um Änderungen von einem Zweig in einen anderen zu kopieren. Wir können es jedoch nur verwenden, wenn wir alle Änderungen aus einem Zweig kopieren möchten.
Angenommen, wir haben einen Master
-Zweig in unserem Repository. Aus unserem Zweig Master
haben wir einen neuen Zweig namens Dev2.1
erstellt.
Natürlich wird unser neuer Zweig alle Commits im Master
-Zweig erben. Wir werden dann mit der Entwicklung auf unserem Dev2.1
-Zweig beginnen.
Um alle Änderungen von unserem Dev2.1
-Zweig in unseren Master
-Zweig zu kopieren, können wir die beiden wie unten gezeigt zusammenführen.
Zuerst müssen wir in den Master
-Zweig auschecken.
Befehl:
$ git checkout Master
Jetzt können wir Dev2.1
mit dem Zweig Master
zusammenführen.
Befehl:
$ git merge Dev2.1
Möglicherweise treten Zusammenführungskonflikte auf, die Sie manuell lösen müssen, um die Zusammenführung abzuschließen.
Angenommen, wir möchten bestimmte Änderungen in den Master
-Zweig kopieren. Wir werden einige Commits in unserem Dev2.1
-Zweig vornehmen, sodass er vor unserem Master
-Zweig liegt, und versuchen, einen Commit zu kopieren.
Hier ein Vergleich zwischen unseren Filialen.
Aus der obigen Ausgabe geht hervor, dass unser Dev2.1
um zwei Commits vor Master
liegt. Nehmen wir an, wir wollen nur Änderungen, die durch den Python Scripts
-Commit eingeführt wurden, von unserem Dev2.1
-Zweig in unseren Master
-Zweig kopieren.
Um die Änderungen zu kopieren, verwenden wir den git cherry-pick
-Befehl mit dem SHA-1
unseres Python Scripts
-Befehls, wie unten gezeigt.
Wechseln wir zu unserem Master-Zweig:
$ git checkout Master
So kopieren Sie die Änderungen:
$ git cherry-pick 2521a66
Ausgang:
Wir können sehen, dass git
die Änderungen aus dem Commit Python Scripts
in den Branch Master
kopiert hat. Dieser Commit sollte sichtbar sein, wenn wir den Befehl git log
ausführen.
Befehl:
$ git log --oneline
Ausgang:
Abschluss
Mit den Befehlen git merge
und git cherry-pick
können Sie Änderungen von einem Branch in einen anderen kopieren. Sie können die Änderungen mit dem Befehl git cherry-pick
angeben, während der Befehl git merge
alle Änderungen kopiert.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn