Git

Git

Copyright ┬ę Shutterstock/Postmodern Studio

Was ist Git?

Definition

Git ist der Name einer verteilten Versionsverwaltungssoftware f├╝r Softwareentwicklungsprojekte. Es handelt sich um freien Code, der nach dem Open-Source-Konzept entstanden ist und weiterentwickelt wird.

Die Software z├Ąhlt zu den am weitesten verbreiteten Tools f├╝r die dezentrale Administration von Dateien und Programmcode. Sie wird branchenweit eingesetzt, von Entwicklerplattformen wie dem webbasierten Dienst GitGub oder dem Filehoster SourceForge bis zu globalen IT-Konzernen wie Microsoft oder Google.

Aufgaben einer Versionskontrollsoftware

An der Entwicklung komplexer Software arbeiten h├Ąufig zahlreiche Programmierer und Softwareentwickler gleichzeitig. Um die einzelnen Arbeitsschritte und -ergebnisse miteinander zu harmonisieren, werden Programme zur Versionsverwaltung eingesetzt. Sie erm├Âglichen das Zwischenspeichern verschiedener St├Ąnde und das Zur├╝ckgehen zu in der Zwischenzeit ├╝berarbeiteten Versionen. Dazu werden nicht nur die tats├Ąchlichen Ver├Ąnderungen am Programmcode abgespeichert, sondern zus├Ątzlich Parameter wie Datum, Uhrzeit, Benutzer oder ├änderungskommentare festgehalten. Versionsverwaltungssysteme werden auch von Grafikern oder Autoren genutzt.

Entstehung von Git

Die urspr├╝ngliche Idee zu Git stammt vom finnisch-amerikanischen Informatiker Linus Torvalds, der ma├čgeblichen Anteil an der Entwicklung des freien Betriebssystems Linux hatte. Im April 2005 ver├Âffentlichte er die erste Version von Git. Seine Zielsetzung war, ein Versionskontrolltool f├╝r die Softwareentwicklung zu schaffen, das verteilte, nicht-lineare Arbeitsprozesse abbilden kann, einen Schutz vor unberechtigten Zugriffen bietet, versehentliche oder bewusste Manipulationen verhindert und sehr effizient eingesetzt werden kann.

Unterschiede zu anderen Versionsverwaltungsprogrammen

Git unterscheidet sich in mehreren zentralen Punkten von anderen Versionskontrollsystemen. Das Programm unterst├╝tzt nicht-lineare Arbeitsabl├Ąufe in der Softwareentwicklung, indem Funktionen vorgesehen sind, verschiedene Entwicklungszweige aufzuspalten (branching) und auch wieder zusammenzuf├╝hren (merging). Grundlage der Programmabl├Ąufe ist eine Peer-to-Peer-Architektur. Dadurch ben├Âtigt man im Unterschied zu klassischen Client-Server-Strukturen keinen zentraler Server. Eine Kopie des kompletten Archivs (repository) einschlie├člich der Versionshistorie (history) ist lokal bei jedem Nutzer offline gespeichert. Die Nutzer sind daher nicht f├╝r alle Arbeitsschritte auf eine Netzwerkanbindung angewiesen. Ihre Zugriffsgeschwindigkeit auf die Daten erh├Âht sich und mehrere Programmierer k├Ânnen zeitgleich an dem Projekt arbeiten.

Zus├Ątzlich verringert die verteilte Datenspeicherung das Risiko eines Datenverlusts. F├╝r einen effizienten Datenaustausch sind in Git verschiedene M├Âglichkeiten integriert, u. a. mehrere Protokolle und Patches. Je nach Art der Daten├╝bertragung kann auf die jeweils geeignetste Technik zur├╝ckgegriffen werden. Die Speicherung des gesamten Versionsverlaufs eines Softwareentwicklungsprojekts wird ├╝ber kryptografische Verfahren abgesichert. Dazu werden alle Einzelversionen ├╝ber einen Hash-Wert miteinander verkettet. Ergebnis einer Manipulation an einer beliebigen Stelle der Versionshistorie w├Ąre eine ung├╝ltige Pr├╝fsumme.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte