Git – Was ist Git?
Git ist ein sogenanntes "Distributed Version Control System", kurz DVCS. Hört sich kompliziert an, ist es aber nicht. Schauen wir nachfolgend, was diese Wörter bedeuten.
Git wurde entwickelt, um kleine sowie große Projekte mit hoher Geschwindigkeit und Effizienz zu verwalten. Es wird entwickelt, um die Arbeit unter den Entwicklern zu koordinieren. Die Versionskontrolle erlaubt es uns, gemachte Datei-Änderungen deiner Teammitglieder zu verfolgen. Das ermöglicht die reibungslose Zusammenarbeit an den gleichen Projekten.
Git ist die Grundlage vieler Dienste wie:
- GitHub (der wohl bekannteste Git-Dienst),
- GitLab &
- Bitbucket (von Atlassian).
Einige der Dienstanbieter, wie z.B. Github werden dir wahrscheinlich vom Namen her geläufig sein.
Jedoch kannst du Git auch ohne externe Git-Services nutzen. Git ist Open Source und kann privat sowie kommerziell genutzt werden.
Noch ein paar Hintergrundinformationen: Es wurde im Jahr 2005 von Linus Torvalds erstellt, um den Linux Kernel zu entwickeln. Besonders beliebt ist Git ebenfalls für DevOps.
Der große Vorteil von Git ist, dass es leicht zu lernen ist. Daher ist es auch anderen Versionskontrollsystemen wie CVS, Perforce und ClearCase überlegen. Du hast mit der Entscheidung Git zu lernen also bereits alles richtig gemacht.
Wichtigste Features von Git
Schauen wir uns kurz die wichtigsten 5 Features von Git an:
- Open-Source
- Skalierbarkeit
- Distributed
- Sicherheit
- Geschwindigkeit/Effizienz
1. Open Source
Git ist ein Open-Source-Tool. Es wird unter der GPL-Lizenz (General Public License) veröffentlicht. Du kannst es privat und kommerziell einsetzen.
2. Skalierbarkeit
Git ist skalierbar, d.h. wenn die Anzahl der Benutzer steigt, kann Git damit problemlos umgehen, ohne dass es z.B. Probleme mit fehlenden Ressourcen gibt.
3. Distributed (Verteilt)
Eine der, aus meiner Sicht, besten Eigenschaften von Git ist, dass es "distributed" ist. Das bedeutet, dass wir, anstatt jedes Projekt auf jedem Computer einzurichten, ein Duplikat (oder Klon) des gesamten Repositorys erstellen können.
Außerdem, hat jeder Benutzer sein eigenes Repository, das die gesamte Änderungen Projekts enthält. Git ist quasi eine dezentrale Lösung. Wir müssen uns nicht mit einem externen Repository verbinden, um Änderungen zu machen. Wenn wir mit unseren Änderungen fertig sind, können wir diese jederzeit an ein Remote-Repository schicken.
(Im Laufe des Kurses werden wir noch detailliert auf Remote-Repositories eingehen)
4. Sicherheit
Git ist sicher!!!
Git benutzt die SHA1 (Secure Hash Function), um Objekte innerhalb deines Repositorys zu benennen und zu identifizieren.
Dateien und Commits (mehr dazu später) werden anhand ihrer Prüfsumme zum Zeitpunkt des Checkouts überprüft und abgerufen. Es speichert die Historie so, dass die ID bestimmter Commits von der vollständigen Entwicklungsgeschichte vor diesem Commit abhängt. Sobald es veröffentlicht ist, kann man keine Änderungen mehr an der alten Version vornehmen.
5. Geschwindigkeit/Effizienz
Git ist schnell, so dass es alle Aufgaben mit hoher Effizienz erledigen kann. Die meisten Git-Operationen werden auf dem lokalen Repository ausgeführt. Daher bietet es eine gute Geschwindigkeit. Außerdem kommuniziert ein zentralisiertes Versionskontrollsystem ständig mit einem Server.
Leistungstests, die von Mozilla durchgeführt wurden, zeigten, dass Git im Vergleich zu anderen Versionskontrollsystemen, am schnellsten ist. Das Abrufen der Versionshistorie von einem lokal gespeicherten Repository ist viel schneller als das Abrufen von Remote-Servern.
Git wurde entwickelt, um auf dem Linux-Kernel zu funktionieren; daher ist es fähig genug, um große Repositories effektiv zu handhaben. Von Anfang an waren Geschwindigkeit und Leistung die primären Ziele von Git.
Das war ein erster Überblick zu den wichtigsten Git-Features, damit du nicht mit Informationen überladen wirst. Es gibt noch viele weitere Features von Git, die du im Laufe des Kurses Schritt-für-Schritt kennenlernen wirst.
Dein benötigtes Vorwissen
Da Git keine Programmiersprache ist, solltest du als "Vorwissen" nur ein Grundverständnis von Windows oder deinem entsprechenden Betriebssystem mitbringen.
Lass uns in der nächsten Lektion sofort in die Praxis einsteigen!