Git: Nicht vorgemerkte Änderungen in neuen Branch verlagern

Git: Nicht vorgemerkte Änderungen in neuen Branch verlagern

Branches sind eine sehr praktische Funktionalität des Versionsverwaltungssystems Git: Man kann parallel an verschiedenen Funktionen arbeiten, die sich während der Entwicklung nicht beeinflussen. Dennoch lassen sich diese später zusammenführen.

Stellen wir uns folgendes Szenario vor: Man entwickelt regulär an einem Projekt, beispielsweise im Entwicklungszweig. Es wurden bereits mehrere Dateien geändert. Nun soll ein Hotfix erstellt und veröffentlicht werden. Möchte man die bereits durchgeführten Änderungen hier nicht einbinden (z.B. weil es sich um eine Migration des Frameworks handelt), steht man vor folgendem Problem: Die bereits durchgeführten Änderungen sollten nachträglich in einem neuen Branch ausgecheckt werden. Dann möchte man zum originalen Branch zurückkehren, in dem diese Änderung durch das Separieren nicht enthalten sind.

Branch Erstellen und Änderungen einchecken

Sofern der Zielbranch noch nicht existiert, müssen wir diesen zunächst anlegen:

git branch netcore2.1-migration

Der Branch sollte nun mit git branch als verfügbarer lokaler Branch angezeigt werden:

$ git branch
* dev
  netcore2.1-migration

Allerdings ist er bislang noch nicht aktiv. Um das zu ändern, müssen wir ihn auschecken:

git checkout netcore2.1-migration
$ git branch
  dev
* netcore2.1-migration

Nun können wir die Änderungen wie gewohnt via CLI oder GUI einchecken und commiten. Sie befinden sich im frisch angelegten Branch netcore2.1-migration.

Um die Änderungen auch auf den Server zu pushen, ist es notwendig, den Upstream-Branch vorher zu setzen:

git push --set-upstream origin netcore2.1-migration

Leave a Reply