Ihr Browser ist veraltet
Um sicher im Internet zu surfen und moderne Websites richtig darzustellen, empfehlen wir Ihnen ein Update.
Hier auf Updates prüfen
schließen

17.04.2023

Versionsverwaltungssystem Git

Versionsverwaltungssystem Git

Bei Git handelt es sich um ein kostenloses open-source Versionsverwaltungssystem (engl. Version Control System, kurz VCS). Mit Hilfe solcher Systeme können alle Änderungen am Code festgehalten und zur späteren Fehlerbehebung herangezogen werden. Sie sind ein gutes Back-Up, sodass auch wenn mal etwas schief läuft, die vorherige Version wieder hergestellt werden kann. Zudem erleichtern sie die Zusammenarbeit der Softwareentwickler untereinander sowie im Rahmen von DevOp-Teams. So können alle Beteiligten immer mit der aktuellen Version arbeiten.

2005 von Linus Torvalds initiiert, ist die Plattform heute zur wohl am weitesten verbreiteten Quellcode-Managementsoftware im Open-Source-Bereich herangewachsen. Torvalds, der auch als Vater des Linux-Kernels gekannt ist, startete seine Arbeit an Git nachdem das bis dahin genutzte BitKeeper System kostenpflichtig wurde.

Der Ausdruck „git“ bedeutet im britischen Englisch so viel wie Blödmann, Depp oder Idiot. Begründet wurde die Wahl dieses Namens mit der (damaligen) Einzigartigkeit im Entwicklungskontext sowie Torvalds Wunsch auch etwas von sich mit in seine Produkte einfließen zu lassen - “I’m an egotistical bastard, and I name all my projects after myself.“

Source Code Management Programme (SCMs) können grob in lokale, verteilte und zentrale Systeme unterteilt werden.

Lokale Systeme

Hierbei werden die Änderungen an Dateien in einem definierten Verzeichnis in einer Datenbank verwaltet. Diese Informationen werden in „Patches“ auf der Festplatte gespeichert. Das Problem: Ist die Festplatte hinüber und es wurde kein Back-Up gemacht, sind auch die Dateien und Versionen weg. Auch der Aspekt der Kollaboration ist bei dieser lokalen Variante nicht berücksichtigt.

Zentrale Systeme

Bei zentralen Systemen liegt das Verzeichnis mitsamt Dateien und Versionen auf einem Server. Durch diese remote Speicherung ist es nun den Beteiligten möglich, von überall aus zuzugreifen und das Projekt immer aktuell zu halten. Die Dateien, die bearbeitet werden, werden lokal heruntergeladen und sobald sie angepasst wurden, wieder auf den Server geladen. Der Nachteil: Wenn es zu einem Ausfall des Servers kommt, kann niemand auf das Projekt und die Dateien zugreifen und die Arbeit steht still.

Verteilte Systeme

An diesem Punkt setzen verteilte Systeme wie auch Git eins ist an. Hier haben alle Beteiligten eine Kopie des gesamten Verzeichnis auch auf dem lokalen Gerät. Somit können die Mitwirkenden auch wenn der Server mal down ist arbeiten und es gibt gleich mehrere Sicherheitskopien.

Während lokale Systeme gerade zu Beginn der VCS weit verbreitet waren, handelt es sich heute bei den meisten um zentrale und verteilte Systeme. Mit jeder Datei, die aktualisiert wieder hochgeladen wird, wird sie mit der vorherigen Version verglichen und die Unterschiede herausgearbeitet – die Revisionen.

Relevante Begrifflichkeiten

Repository (Repo)

Als Repository wird das gesamte Projekt-Verzeichnis bezeichnet. Es vereint alle relevanten Projektdateien sowie Versionen und sollte stets aktuell gehalten werden, gerade wenn im Team gearbeitet wird.

Branch

Ein Branch (deutsch: Zweig) ist im Git-Kontext ein Entwicklungszweig. Ein jedes Repo hat einen Master- oder Main-Branch, der die aktuelle Version einer Software und deren Versionen beinhaltet. Von diesem können andere Branches „abzweigen“ um beispielsweise eine neue Funktion unabhängig vom Main-Branch zu entwickeln. So kann zunächst diese neue Funktion in einer separaten Umgebung entwickelt und getestet werden, bevor der Code final in die aktuelle Version der Software integriert wird. Hierbei wird dieser Entwicklungs-Branch mit dem Main gemerged.

Merge

Da Git mittels der Kommandozeile genutzt werden kann, gibt es für Aktionen fest definierte Kommandos. Mittels des Befehls git merge können verschiedene Branches zusammengeführt werden. Mittels git branch kann wiederum ein neuer Entwicklungsstrang erstellt werden.

Commit

Über git commit kann eine Reihe von Änderungen als Version zusammengefasst und in Git gespeichert werden.

Push

Mit dem Befehl git push werden die lokal getätigten Änderungen in das remote liegende Repo gesendet und die alte Version auch dort überschrieben, sodass alle Beteiligten Zugriff auf die neueste Version des Projekts haben.

Pull

Mittels git pull wird das lokal gespeicherte Repo mit den aktuellen Dateien vom Server überschrieben.

Mehr Informationen finden sich in der Dokumentation von Git: https://git-scm.com/doc

Quellen

https://www.arocom.de/fachbegriffe/webentwicklung/git

https://www.atlassian.com/de/git/tutorials/what-is-git

https://git-scm.com/book/de/v2/Erste-Schritte-Was-ist-Versionsverwaltung%3F

Kontakt

Für Ihre Fragen, Anregungen und Anmerkungen haben wir immer ein offenes Ohr.

Sie können uns natürlich auch telefonisch erreichen:
034298 / 208 478

Erfahrungen & Bewertungen zu norules-webdesign