Was ist GIT und was ist eine Versionsverwaltung (VCS)?
In diesem Blog-Post erkläre ich dir was GIT ist und welche Vorteile du als Webentwickler oder Programmierer davon hast....
GIT ist eine freie Versionsverwaltung für kleine wie auch große Projekte. Eine Versionsverwaltung (VCS = Version Control System) ist, wie der Name bereits andeuten lässt, für die Verwaltung aller Versionen einer Datei zuständig. Um das zu gewährleisten, sorgt Git für eine einfache und schnelle Möglichkeit, die Versionen deiner Projektdateien mithilfe der Konsole zu verwalten.
Warum eine Versionsverwaltung wichtig ist!
Eine Versionsverwaltung ist besonders bei der Programmierung / Software-Entwicklung nicht mehr weg zu denken. So ziemlich jeder renommierte Coder arbeitet, bzw. hat schon einmal mit einem VCS gearbeitet.
Damit du die Sinnhaftigkeit und auch den Nutzen einer Versionskontrolle besser verstehst, folgt jetzt mal ein kurzes Anwendungs-Beispiel in Form einer kleinen Story. Ob die Geschichte einer wahren Begebenheiten zugrunde liegt, darfst du selbst entscheiden. Here we go..
Du bist gerade auf dem Weg nach Hause und die kommt plötzlich das Millionen, ach was sag ich denn, Milliarden schwere Konzept für die Berechnung der Königspinguine in Südgeorgien und die Südliche Sandwichinseln in den Kopf.
Du setzt dich also an deinen Hacker-Laptop. Natürlich steht dieser in einer dunklen Abstellkammer im Keller. Du öffnest den Windows-Editor und beginnst mit dem Coden. 10 Minuten und 42 Sekunden später bist du fertig. Dein Algorithmus umfasst genau 50.000 Zeilen. Nächster Step:
Speichern.
Kompilieren.
Konsole öffnen und Berechnung starten.
Self-High-Five! Innerhalb von 20 Minuten hat der Algorithmus einen Wert von 20.000€ erwirtschaftet.
Als Perfektionist findest du es nicht passend, dass dein Code so viele Lines hat.
Deswegen ziehst du jetzt erstmal eine weg.
Rund 5 Minuten später bist du komplett durch. 45.404 Zeilen!
Prozedere wiederholen:
Speichern! -> Kompilieren! -> Konsole öffnen und Berechnung starten!
FEHLER: ""
Nichts passiert.
Du öffnest deinen Editor und drückst aus Gewohnheit STRG + Z (Rückgänig)
Nichts passiert.
F*CK!
Algorithmus ist defekt! Die Rückgänig-Funktion des Windows-Editors zeigt keine Wirkung. Umschulung als Metzger (für alle Veggies: zum Florist) beantragt!
Soweit muss es natürlich nicht kommen. Eine einfach Lösung für dieses Problem ist: GIT!
PS.: Benutz zum Programmieren auf keinen Fall - ich wiederhole.. AUF KEINEN FALL! - den Windows-Editor. Professionelle Grafiker, bzw. auch die möchtegern Designer verwenden für die Erstellung von Grafiken auch kein Paint sondern Photoshop und Konsorten. Sei schlau - sei ein möchtergern Designer.
Wie funktioniert eine Versionsverwaltung?
Eine Versionsverwaltung kannst du dir wie eine Kopie einer Datei vorstellen. Nur mit einer Historie. Das heißt du hast für jede Änderung an der Datei eine Kopie dieser Datei inklusive Beschreibung. Die Beschreibung umfasst eine kurze Erklärung, was du am Code verbessert / geändert hast. Zu jedem X-Beliebigen Zeitpunkt kannst du auf diese Kopie zugreifen und die Änderungen einsehen beziehungsweise auch wiederherstellen oder rückgänig machen.
Das ganze kennst du vielleicht aus den Cloud-Storage Diensten, wie z.B. Google Drive. Dort werden auch alle Versionen einer Datei gespeichert. Zwar ist dies bei Google Drive auf 100 Versionen und 30 Tagen beschränkt, aber immerhin gibt es diese Funktion for free!
Warum sollte ich GIT benutzen?
GIT ist speziell auf Geschwindigkeit und Effizienz ausgelegt. Das heißt, du sollst so wenig Zeit wie möglich mit dem Versionieren deines Projektes verbringen. Der Fokus bei Softwareentwicklern soll beim Entwickeln und nicht bei der Verwaltung verschiedenster Versionen der Projektdaten liegen.
GIT ist kostenlos und Open-Source!
GIT kannst du ohne Kosten und Abschluss eines Abos einfach lokal auf deinem Computer installieren. Check hierfür einfach meinen anderen Blog-Post aus, dort erkläre ich dir Schritt für Schritt wie alles funktioniert -> GIT Die Einführung
GIT ist super einfach zu lernen!
Mit nur 3 Befehlen kannst du dein lokales Projekt ohne Probleme verwalten.
- git init
- git add
- git commit
Empfehlung auch hier: Schau dir für mehr Infos meines Blog-Serie dazu an: GIT Die Einführung
GIT ist perfekt für die Arbeit im Team!
GIT bietet auch die Möglichkeit für eine Kollaboration an. Du kannst z.B. auf einem Server GIT installieren und deine Änderungen dort speichern. Somit können deine Team-Mitglieder auch auf das Projekt zugreifen und Ändernungen vornehmen.
Alternativ kannst du auch einfach eines der großen Plattformen wie GitHub, GitLab, BitBucket usw. verwenden. Wenn du kein Profi im Umgang mit Linux-Distributionen bist, empfehle ich dir auch eine der Plattformen zu benutzen.
Mich findest du auf GitLab. Mir gefällt das UI dort besser.
Aktuell sind dort noch keine Projekte, da ich diese erst noch von meinem lokalen System migrieren muss.
Fazit
Lerne und verwende GIT, wenn du Softwareentwickler bist. Nicht nur für Long-Term Projekte sondern auch kleine Snippets oder Tools können dort gut gesammelt / gespeichert werden.
Wenn du noch allgemeine Fragen zu GIT hast, kannst du mir jederzeit bei Instagram (@michster) eine Nachricht senden. Meistens Antworte ich auch.:D
Ansonste schau dich gerne hier auf dem Blog etwas um, genug Material für den Einstieg in GIT ist auf jeden Fall vorhanden. Natürlich werde ich diesen auch bei Gelegenheit erweitern. Da GIT auch noch weiterentwickelt wird, kommen immer neue Features hinzu.
Viel Spaß beim Versionieren!