Podcast
Videos
September 5, 2022
Nov 2022
8 Min

Versionsverwaltung: Eine Einführung - Teil 2

Gemeinsames Arbeiten und weitere Begrifflichkeiten

Eine weitere Vereinfachung, die Versionskontrollsysteme bei der Softwareentwicklung bieten ist der einfache Austausch von Code in einem Team. Dies geschieht in der Regel über einen Server, der den geteilten Stand des Projekts enthält der sogenannte Remote Server. Versionsverwaltungssysteme bieten eine Funktion, mithilfe der man einzelne Commits oder ganze Branches (Mengen von Commits) auf den Remote Server hoch laden kann. Den Prozess des Hochladens nennt man einen Push. Das Gegenstück dazu das Herunterladen von Code vom Remote Server nennt sich Pull.

*Um lokale und serverseitige Branches synchron zu halten, sollte man regelmäßig pushen und pullen.*

In der gemeinsamen Arbeit eines Teams sollte stets klar sein, welche Funktionen die Haupt-Branches haben und wie Arbeits-Branches zu benennen sind. Für die Erklärungen im Folgenden sei master der einzige Haupt-Branch und jeder Branch, dessen Name mit feature/ beginnt ein Arbeits-Branch:

Der Remote Server läuft meist in einem Dienst mit Weboberfläche, wobei GitHub.com, Bitbucket.org und GitLab.com die aktuell meist verbreiteten Dienste sind. GitLab hat außerdem eine Community Edition, die sich auf den eigenen Servern installieren lässt. In jedem dieser Dienste gibt es die Option Nutzer anzulegen und diesen einzeln Lese- und Schreib-Rechte in Projekten zu vergeben. Einzelne Branches lassen sich außerdem zusätzlich schützen, man nennt sie dann Protected Branch, wodurch man zusätzliche Rechte braucht, um dort Änderungen hinein zu pushen oder zu mergen.

Typischerweise werden die Haupt-Branches (also z.B. der master Branch) geschützt. Möchte nun ein Entwickler, der einen Arbeits-Branch fertig stellt (z.B. feature/integrate_analytics) diesen mit dem Gesamtfortschritt zusammenführen (Merge), so muss er einen anderen Entwickler mit entsprechenden Rechten darum bitten, dies für ihn zu tun. Dies geschieht mithilfe eines Merge Requests über die Weboberfläche des Remote Server Dienstes. Ein anderer Entwickler mit den entsprechenden Rechten hat so die Möglichkeit die gemachten Änderung in dem Arbeits-Branch zu validieren und eventuell Korrekturen vorzuschlagen oder diese selbst vorzunehmen, bevor er den Merge durchführt. Für die Kommunikation lassen sich Merge Requests oder einzelne Code-Stellen in der Weboberfläche kommentieren.

Wie kann ich Git einfach nutzen?

Obwohl Git ein Kommandozeilen-Tool ist und sogar eine stabile Git-Version auf einigen Systemen (z.B. Macs) bereits vorinstalliert ist, raten wir App-Entwicklern, die sonst wenig mit der Kommandozeile zu tun haben von dessen Einsatz ab. Stattdessen empfehlen wir die Nutzung eines guten Git-Programms mit Nutzeroberfläche:

*SourceTree erlaubt die Nutzung von Git ohne Kommandozeile.*

SourceTree ist sowohl für Mac als auch für Windows verfügbar und das Programm unserer Wahl. Es ist kostenlos, recht übersichtlich und unterstützt alle wichtigen Arbeitsschritte, die bei der täglichen Arbeit mit Git benötigt werden. Die Installation von Git macht SourceTree ebenfalls überflüssig, da eine aktuelle Git-Version bereits integriert ist. Im nächsten Artikel gehen wir im Detail auf die Arbeit mit Git in SourceTree ein.

Andreas Link
Andreas Link
Anh Dung Pham
Anh Dung Pham
Cihat Gündüz
Cihat Gündüz
Andreas Link
Ekrem Sentürk
Eva Maria Stock
Eva-Marie Stock
Andreas Link
Giulia Maier
Inken Marei Kolthoff
Inken Marei Kolthoff
Janina Baumann
Janina Baumann
Janina Bokeloh
Janina Bokeloh
Jeanette Schmidt
Jeanette Schmidt
Jens Krug
Jens Krug
Kajorn Pathomkeerati
Kajorn Pathomkeerati
Karl Barth
Karl Barth
Kay Dollt
Kay Dollt
Murat Yilmaz
Murat Yilmaz
Thorsten Hack
Thorsten Hack
Thorsten Hack
Thorsten Hack
Inken Marei Kolthoff
Cynthia Murat
Inhaltsverzeichnis

Weitere Artikel

All U need: User Interface, Usability & User Experience
Inken Marei Kolthoff
26.11.2022
6 Min

All U need: User Interface, Usability & User Experience

Nehmen Sie sich kurz einen Moment Zeit um zu überlegen: Welche App nutzen Sie am liebsten?

Artikel lesen
Wie man NFC für iOS 11 implementiert - Teil 2: Background Tag Reading
Andreas Link
26.11.2022
7 Min

Wie man NFC für iOS 11 implementiert - Teil 2: Background Tag Reading

Zeitgleich mit der Einführung des iPhone XS, iPhone XS Max und iPhone XR hat Apple eine Funktion namens "Background Tag Reading" eingeführt, die exklusiv für die neuen iPhones verfügbar ist.

Artikel lesen
German Design Award 2018 - Die Verleihung
Kay Dollt
26.11.2022
2 Min

German Design Award 2018 - Die Verleihung

Am vergangenen Freitag war es soweit, die feierliche Verleihung des German Design Awards 2018 fand in Frankfurt am Main statt.

Artikel lesen

Jetzt kostenloses Strategiegespräch sichern!

Die Beratungen sind grundsätzlich schnell ausgebucht, deshalb fülle jetzt in 2 Minuten das kurze Formular aus.

Jetzt Strategiegespräch sichern