Verzweigung aus einer anderen Verzweigung in Git erstellen
In diesem Tutorial erfahren Sie, wie Sie in Git einen Branch aus einem anderen Branch erstellen.
Git, ein verteiltes Versionskontrollsystem, ist ein geeignetes Werkzeug für die Versionierung in einer kollaborativen Entwicklungsumgebung. In Git erstellen wir Repositories und in den Repositories erstellen wir Branches, um verschiedene Entwicklungsbemühungen zu verfolgen.
Wir erstellen oft einen neuen Zweig von der Hauptlinie, um Fehler zu beheben oder ein neues Feature zu entwickeln. Nach Abschluss der Aufgabe führen wir diesen Branch normalerweise für eine Veröffentlichung wieder mit dem Mainline-Branch zusammen.
Git bietet uns die Möglichkeit, einen Branch aus einem anderen bestehenden Branch zu erstellen. Außerdem können wir die Zweige mit Git-Befehlen zusammenführen.
Verwenden Sie den Befehl git checkout
, um einen Zweig aus einem anderen Zweig in Git zu erstellen
Git, ein verteiltes Versionskontrollsystem, ist ein nützliches Tool zum Nachverfolgen von Änderungen am Projekt-Repository.
Wir haben mehrere Teammitglieder oder Teams, die dasselbe Projekt-Repository für die Arbeit in einer kollaborativen Entwicklungsumgebung verwenden. Verschiedene Teammitglieder oder Teams können verschiedene Zweige aus einem bestehenden Zweig erstellen, um an diesem Zweig zu arbeiten.
Angenommen, wir haben in unserem Projekt-Repository einen Mainline-Branch namens main
. Ein Bugfix-Team würde einen neuen Branch mit dem Namen bugfixes
über diesem Branch erstellen. Ein anderes Team oder Teammitglied würde einen Branch feature
erstellen, um ein neues Feature zu entwickeln.
Sobald das Team oder die Teammitglieder mit den im neuen Branch vorgenommenen Änderungen zufrieden sind, wird der neue Branch oft wieder mit dem Mainline-Branch zusammengeführt.
Angenommen, wir möchten einen Branch feature
aus dem Mainline-Branch main
erstellen, um ein Feature zu entwickeln. Dafür können wir den Befehl git checkout
verwenden.
Die Syntax zum Erstellen eines neuen Zweigs des vorhandenen Zweigs ist unten.
git checkout -b <new-branch> <existing-branch>
In unserem Fall führen wir den Befehl wie folgt aus.
$ git checkout -b feature main
Switched to a new branch 'feature'
Daher haben wir einen neuen Zweig feature
aus dem bestehenden Zweig main
erstellt. Die Option -b
auf den Befehl git checkout
bewirkt, dass der neue Branch erstellt wird. Außerdem bewirkt es, dass der neue Zweig ausgecheckt wird.
Jetzt würden wir das neue Feature entwickeln und unsere Änderungen im neuen Zweig, nämlich feature
, vornehmen.
Nachdem wir die Feature-Entwicklung abgeschlossen und die Änderungen in den neuen Branch feature
übernommen haben, möchten wir diesen Branch mit dem Mainline-Branch main
zusammenführen.
Wir können den Befehl git merge
verwenden, um den Zweig feature
mit dem Hauptzweig main
zusammenzuführen.
Zuerst würden wir mit dem Befehl git checkout
zum Mainline-Zweig main
wechseln.
$ git checkout main
Switched to branch 'main'
Wir verwenden den Befehl git merge
, um den Branch feature
mit dem Branch main
zusammenzuführen.
Wir würden den Befehl wie folgt ausführen.
$ git merge --no-ff feature
Updating ea1b23a..05e9201
(Summary of changes)
Die Option --no-ff
des Befehls git merge
erzwingt immer die Erstellung eines neuen Commit-Objekts, auch wenn ein Fast-Forward-Merge durchgeführt wird. Es führt dazu, dass in allen Fällen ein Merge-Commit erstellt wird, selbst wenn die Zusammenführung als schneller Vorlauf aufgelöst werden könnte.
Dies ist nützlich, da wir beim Durchsuchen des Git-Verlaufs Informationen über die Existenz des feature
-Zweigs sehen würden. Es bewirkt auch, dass alle Commits des feature
-Zweigs zusammengefasst werden.
Auch wenn wir die Zusammenführung des feature
-Zweigs in den main
-Zweig rückgängig machen möchten, ist dies aufgrund des Merge-Commits einfacher.
Beim Fast-Forward-Merge wird kein Merge-Commit erstellt. Nur die Aktualisierung des Verzweigungszeigers findet statt, um mit der zusammengeführten Verzweigung übereinzustimmen.
Schließlich müssen wir die Änderungen in das Remote-Repository übertragen.
$ git push origin main
$ git push origin feature
Daher haben wir gezeigt, wie man in Git einen Branch aus einem anderen Branch erstellt.