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

Entrümpelungs-Aktion im App Store
Eva-Maria Stock
26.11.2022
3 Min

Entrümpelungs-Aktion im App Store

Apple hat bekannt gegeben, dass sie App Store Improvements vornehmen wollen.

Artikel lesen
Layouts für Android – Ein Performance-Vergleich
Thorsten Hack
26.11.2022
6 Min

Layouts für Android – Ein Performance-Vergleich

Jeder der native Android-Apps entwickelt, kommt tagtäglich mit Layouts in Berührung.

Artikel lesen
Offtopic - Meine persönliche Podcastempfehlung
Kay Dollt
26.11.2022
5 Min

Offtopic - Meine persönliche Podcastempfehlung

Heute soll es im Blog mal um ein Offtopic Thema gehen. Ich möchte über drei Podcasts schreiben, die ich bereits seit langer Zeit höre und mir im Alltag viel Spaß und Hintergrundwissen bringen.

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