{"id":6842,"date":"2020-07-16T19:01:53","date_gmt":"2020-07-16T17:01:53","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6842"},"modified":"2020-07-16T19:01:54","modified_gmt":"2020-07-16T17:01:54","slug":"git-nicht-vorgemerkte-aenderungen-in-neuen-branch-verlagern","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/git-nicht-vorgemerkte-aenderungen-in-neuen-branch-verlagern\/","title":{"rendered":"Git: Nicht vorgemerkte \u00c4nderungen in neuen Branch verlagern"},"content":{"rendered":"<p>Branches sind eine sehr praktische Funktionalit\u00e4t des Versionsverwaltungssystems Git: Man kann parallel an verschiedenen Funktionen arbeiten, die sich w\u00e4hrend der Entwicklung nicht beeinflussen. Dennoch lassen sich diese sp\u00e4ter zusammenf\u00fchren.<\/p>\n<p>Stellen wir uns folgendes Szenario vor: Man entwickelt regul\u00e4r an einem Projekt, beispielsweise im Entwicklungszweig. Es wurden bereits mehrere Dateien ge\u00e4ndert. Nun soll ein Hotfix erstellt und ver\u00f6ffentlicht werden. M\u00f6chte man die bereits durchgef\u00fchrten \u00c4nderungen hier nicht einbinden (z.B. weil es sich um eine Migration des Frameworks handelt), steht man vor folgendem Problem: Die bereits durchgef\u00fchrten \u00c4nderungen sollten <em>nachtr\u00e4glich<\/em> in einem neuen Branch ausgecheckt werden. Dann m\u00f6chte man zum originalen Branch zur\u00fcckkehren, in dem diese \u00c4nderung durch das Separieren nicht enthalten sind.<\/p>\n<h2 class=\"wp-block-heading\">Branch Erstellen und \u00c4nderungen einchecken<\/h2>\n<p>Sofern der Zielbranch noch nicht existiert, m\u00fcssen wir diesen zun\u00e4chst anlegen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">git branch netcore2.1-migration<\/code><\/pre>\n<p>Der Branch sollte nun mit <strong>git branch<\/strong> als verf\u00fcgbarer lokaler Branch angezeigt werden:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">$ git branch\n* dev\n  netcore2.1-migration<\/code><\/pre>\n<p>Allerdings ist er bislang noch nicht aktiv. Um das zu \u00e4ndern, m\u00fcssen wir ihn auschecken:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">git checkout netcore2.1-migration\n$ git branch\n  dev\n* netcore2.1-migration<\/code><\/pre>\n<p>Nun k\u00f6nnen wir die \u00c4nderungen wie gewohnt via CLI oder GUI einchecken und commiten. Sie befinden sich im frisch angelegten Branch <strong>netcore2.1-migration<\/strong>.<\/p>\n<p>Um die \u00c4nderungen auch auf den Server zu pushen, ist es notwendig, den Upstream-Branch vorher zu setzen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">git push --set-upstream origin netcore2.1-migration<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Branches sind eine sehr praktische Funktionalit\u00e4t des Versionsverwaltungssystems Git: Man kann parallel an verschiedenen Funktionen arbeiten, die sich w\u00e4hrend der Entwicklung nicht beeinflussen. Dennoch lassen sich diese sp\u00e4ter zusammenf\u00fchren. Stellen wir uns folgendes Szenario vor: Man entwickelt regul\u00e4r an einem Projekt, beispielsweise im Entwicklungszweig. Es wurden bereits mehrere Dateien ge\u00e4ndert. Nun soll ein Hotfix erstellt &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6867,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[613],"class_list":["post-6842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung","tag-git"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6842"}],"version-history":[{"count":1,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6842\/revisions"}],"predecessor-version":[{"id":6843,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6842\/revisions\/6843"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6867"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}