Florian Albrecht
18. August 2020

SAPUI5-Entwicklung mit Git: Versionskontrolle

Versionskontrolle mit Git ist in vielen Unternehmen inzwischen zu einem Standard im Softwareentwicklungsprozess geworden. Auch die SAP Cloud Plattform bietet für den Entwicklungsprozess von SAPUI5-Apps eine Git-Integration, von der vor allem größere Entwicklungsteams profitieren können. In diesem Beitrag möchte ich Ihnen neben den Grundlagen und Vorteilen der Versionskontrolle zudem erste Schritte in Richtung Git innerhalb der SAP Cloud Plattform zeigen.

Was ist Versionskontrolle?

Einfach gesagt ist ein Versionskontrollsystem (VKS) eine Art Datenbank. In dieser können Sie Momentaufnahmen eines Entwicklungsprojektes zu jedem beliebigen Zeitpunkt ablegen und historisieren. Ein Projekt wird in Git in einem sogenannten Repository verwaltet. Dieses Repository ist zentral abgelegt und kann nicht direkt bearbeitet werden. Git bietet zur Arbeit mit zentralen Repositories viele Schnittstellen an. Diese möchte ich im Folgenden kurz umreissen.

Um eine neue Version in einem Repository zu speichern, muss zunächst eine lokale Kopie des Repositories heruntergeladen werden. In diesem Fall wird das Repository auf den eigenen Rechner „geklont“. Durch das Klonen werden alle im Repository enthaltenen Dateien heruntergeladen und in einem sogenannten lokalen Repository abgelegt. Nun können Sie Änderungen am Projekt vornehmen, die allerdings nicht sofort im zentralen Repository ersichtlich werden. Die Änderungen müssen Sie zunächst im lokalen Repository auf dem Rechner „committen“. Ein Commit ist eine neue Version des Projekts, die Sie später im zentralen Repository hinterlegen. Um den Commit abschließen zu können, müssen Sie dann noch eine sogenannte Commit-Nachricht schreiben, die die vorgenommenen Änderungen am Projekt genauer beschreibt.

Schließlich kann der eben erstellte Commit über einen „Push“-Request in das zentrale Repository hochgeladen werden. Dort wird nun auch die zuvor nur lokal vorhandene neue Version des Projektes sichtbar. Auch den durchgeführten Commit können Sie in der Historie samt Commit-Nachricht einsehen. Um das lokale Repository auf dem aktuellsten Stand zu halten muss dieses nicht immer wieder geklont werden. Einmal initialisiert, bietet Git die Möglichkeit sogenannte „Pull“-Requests durchzuführen und das lokale Repository dadurch zu aktualisieren.

Unsere FAQs zum Thema SAPUI5 SAP Fiori

FAQ: SAPUI5 SAP Fiori

Die häufigsten Fragen zum Themenkomplex SAPUI5 & SAP Fiori.

Versionskontrolle: Git und die Alternativen

Git selbst ist das populärste open-source-VKS, auf dem viele bekannte Produkthersteller aufbauen (GitHub, BitBucket, etc.). Die meisten Hersteller bieten für einzelne User oder kleinere Teams kostenlose Accounts an, die auf jeden Fall auch einen Blick wert sind. Auch in der SAP Cloud Plattform wird Git für die Versionierung von Projekten angeboten. So können neue Git-Repositories angelegt und innerhalb der SAP Web IDE bezogen und auch aktualisiert werden.

Welche Vorteile bringt ein VKS?

Ein VKS bringt die folgenden Vorteile mit sich:

Versionierung

Git ist in Sachen Versionierung sehr „schlau“. Es erkennt, welche Dateien bearbeitet oder gelöscht wurden. Dadurch müssen Sie beim nächsten Commit lediglich die bearbeiteten Dateien beachten.

Nachvollziehbarkeit

Durch den vorherigen Punkt wird zudem eine Nachvollziehbarkeit im Projekt möglich. Aus jedem Commit wird deutlich, welche Dateien und auch was sich darin geändert hat. Zudem wird durch die Commit-Nachricht beschrieben, was sich am Projekt geändert hat (neues Feature, Bugfix, etc.). Setzen Sie dies richtig um, können Sie über die Historie ganz genau nachvollziehen, was zu welchem Zeitpunkt im Projekt angepasst/geändert wurde.

Wiederherstellung

Mit jedem Commit wird auch eine neuer, herunterladbarer Stand im zentralen Repository angelegt. Nun kommt es nicht gerade selten vor, dass durch Änderungen Bugs in das Entwicklungsprojekt kommen. Um schnell und unproblematisch zu einem funktionierenden Stand zurückkehren zu können, können Sie einfach auf eine vorhergehende Version zurückspringen. Sie können den Fehler beseitigen und schließlich die neue und funktionierende Version in das zentrale Repository einspielen.

Personaleinsatzplanung
Anhand eines Kundenbeispiels stellen wir Ihnen in diesem Webinar vor, wie Sie mit einer direkt im SAP-System integrierten Personaleinsatzplanung Ihre Produktionsplanung vereinfachen können.

Git-Integration in der SAP Cloud Plattform

Schließlich möchte ich darauf eingehen, wie Sie innerhalb der SAP Cloud Plattform ein Git-Repository anlegen und einen ersten Commit über die Web IDE ausführen.

Step 1: Git-Repository anlegen

Um ein Git-Repository initial anzulegen, gibt es mehrere Wege. Wir legen das Repository für diesen Beitrag manuell an. Dazu wählen wir links im Menü den Punkt „Git Repositories“ aus und klicken auf „New Repository“:

Git-Repository in der SCP anlegen

Git-Repository in der SCP anlegen

Daraufhin erscheint ein Dialog, der uns nach dem Namen und einer Beschreibung für das Git-Repository fragt. Den Name des Repositories müssen Sie in Kleinbuchstaben angeben und das Häkchen unten aktiviert lassen. Mit der Anlage wird im Hintergrund  führen Sie dann einen ersten Commit in das Repository aus:

Git-Repository benennen

Git-Repository benennen

Mit Bestätigung über „OK“ legen wir das Repository an und es erscheint in der Liste der Repositories. Über den Link zum Repository gelangen wir in die folgende Ansicht:

Git-Repository in der SCP

Git-Repository in der SCP

Folgendes verbirgt sich hinter den markierten Nummern:

  1. Über diesen Button können Sie direkt in die Web IDE abspringen und das Repository klonen.
  2. Dies ist der Link zum Repository, den Sie für manuelles Klonen verwenden können.
  3. Dieser Link führt Sie zur Historie des Git-Repositories. Hier können Sie alle vorgenommenen und gepushten Commits einsehen.

Wir klicken nun auf den Button „Web IDE“. Damit rufen wir die Web IDE auf und die Anwendung fragt uns, ob wir das eben angelegte Repository lokal in unseren Web IDE Workspace klonen möchten:

Git-Repository klonen

Git-Repository klonen

Wir bestätigen dies mit „Clone“. Den folgenden Dialog überspringen wir mit „Do it later“:

Git-Ignore Konfiguration

Git-Ignore Konfiguration

Ggf. bittet uns die SCP in diesem Schritt, unsere Mailadresse und unseren Namen anzugeben. Git nutzt diese Informationen, um einzelne Commits mit einem Autor zu versehen – daher sollten Sie diese in jedem Fall angeben.

Step 2: Ersten Commit über die Web IDE ausführen

Anschließend steht das Repository für die Arbeit innerhalb der Web IDE zur Verfügung. Der Projektordner unterscheidet sich von den üblichen Ordnern dadurch, dass Sie rechts neben dem Ordnernamen den aktuell ausgecheckten Branch des lokalen Repositories sehen. Ohne tiefer auf das Branching in Git einzugehen, möchte ich Sie dazu auf diesen Beitrag verweisen.

Git-Repository Datei hinzufügen

Git-Repository Datei hinzufügen

Zudem stehen links neben den Dateien und Ordnern kleine Symbole, die anzeigen, ob jemand die Dateien bearbeitet (hinzugefügt, verändert, gelöscht) hat.
In diesem Fall hat jemand eine neue Datei „README.md“ hinzugefügt, die eine einfache Beschreibung beinhaltet.

Mit diesen Änderungen können wir nun den ersten Commit ausführen. Hierzu speichern wir alle Dateien und öffnen die Git-Pane an der rechten Seite:

Git-Repository Commit und Push

Git-Repository Commit und Push

In dem Bereich „Changes“ innerhalb der Git-Pane erhalten wir eine Übersicht aller geänderten Dateien im lokalen Repository und müssen angeben, welche der Dateien wir für den Commit vorsehen möchten. Wir markieren alle Dateien, tragen unsere Commit-Nachricht ein und wählen unten anschließend „Commit and Push“ und den Eintrag „origin/master“ aus, um den Commit direkt auch in das zentrale Repository hochzuladen.

War alles erfolgreich, können wir wieder in die Repository-Übersicht zurückkehren (siehe oben) und über den dritten Punkt zur Repository-Historie navigieren.

Git-Repository Historie

Git-Repository Historie

Hier sehen wir nun unseren letzten Commit und auch den ersten Commit bei der Anlage des Repositories.

Damit haben wir nun den grundlegenden Git-Prozess innerhalb der SCP kennengelernt, auf dem Sie nun aufbauen können. Wenn Sie noch weitere Fragen zur Arbeit mit Git haben und wie sie das Tool für Ihren Entwicklungsprozess nutzen können, dann kommen Sie jederzeit gerne auf mich zu.

Florian Albrecht

Florian Albrecht

Als SAP Consultant bei der mindsquare ist mir der Erfolg meiner Kunden durch exzellente Beratung am wichtigsten. Ich freue mich über herausfordernde Projekte, an denen ich mich persönlich weiterentwickeln kann und gleichzeitig meinen Kunden dabei helfe effektiver und effizienter zu werden. Ich besitze umfangreiche Kenntnisse in den Bereichen SAP HCM und Fiori (Individual-)Entwicklung und stehe Ihnen bei Fragen und Herausforderungen jederzeit gerne zur Verfügung. Abseits vom Arbeitsalltag nehme ich gerne mal die Gitarre in die Hand, bin sportlich aktiv oder verbringe meine Freizeit zusammen mit Freunden und Familie.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

ODATA und SAP UI5 SAP Fiori-Anwendungen sind aktuell in aller Munde. ODATA bildet hierbei die Schnittstelle zwischen dem UI5 Frontend und dem SAP Backend. Für den Entwickler

weiterlesen

Viele Wege führen ans Ziel eine SAPUI5-App zu entwickeln - daran ist grundsätzlich auch nichts auszusetzen. Die Erweiterung, Wartung und das Debugging der Apps wird jedoch umständlicher, wenn die Apps […]

weiterlesen

Wie im letzten Beitrag der Blogreihe erwähnt wurde, ist die richtige Ordnerstruktur der Grundpfeiler für eine saubere App-Entwicklung. Um die Aufwände für Ihr Projektsetup gering zu halten, bietet die SAP […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Nadja Messer
Nadja Messer Kundenservice