Was ist eigentlich git? Non-Techie-Version

Artikel aktualisiert am: von Jens Martsch
Was ist eigentlich git? Non-Techie-Version

Was ist ein Versionskontrollsystem?

Hast du schon einmal eine Datei überschrieben und dann gemerkt, dass du sie eigentlich behalten wolltest, weil du zum Beispiel einen Fehler gemacht hast? Oder, dass du verschiedenste Versionen einer Datei aufbewahrst, um verschiedene Dinge zu testen

Dann hast du bestimmt schon einmal eine alte Version wiederhergestellt - und genau dafür sind Versionskontrollsysteme da! Stell dir vor, du müsstest jedes Mal, wenn du eine Datei änderst, eine Kopie anlegen und den Namen der Datei ändern, damit du sie später wiederfinden kannst. Das wäre doch total aufwendig! Mit einem Versionskontrollsystem kannst du einfach eine neue Version erstellen und sie später wiederherstellen, wenn du sie brauchst. Findest du das nicht auch cool?

Das Versionskontrollsystem Git

Git ist eine Art "Notizbuch" für Computer-Dateien. Es hilft, Veränderungen an diesen Dateien aufzuschreiben und zu verfolgen, damit man jederzeit sehen kann, was sich verändert hat. Dies ist besonders nützlich, wenn viele Menschen an den gleichen Dateien arbeiten und jeder seine eigenen Änderungen machen will. Mit Git kann man auch verschiedene Versionen eines Projekts speichern, zum Beispiel, um neue Funktionen zu testen, bevor sie in die Hauptversion übernommen werden. Git ist ein mächtiges Werkzeug, das viele Vorteile bietet, aber es kann etwas schwierig zu lernen sein.

Jeder der mit Dateien arbeitet hat wahrscheinlich schon einmal ein eigenes Versionskontrollsystem verwendet, ohne es zu wissen.

Hast du Dateien die so oder ähnlich heißen?

  • Konzept.doc

  • Konzept2.doc

  • Konzept-finale-Version.doc

  • Konzept-finale-Version3.doc

  • Konzept-finale-Version-nach-Änderung.doc

  • Konzept-final-jetzt-aber-auch-wirklich.doc

Dann hast du unbewusst eine manuelle Versionskontrolle verwendet, wenn auch keine sehr gute.

Was sind Vorteile von git ?

Git bietet viele Vorteile, insbesondere für Teams, die an gemeinsamen Projekten arbeiten. Hier sind einige der wichtigsten Vorteile von Git:

  • Verfolgung von Änderungen: Git ermöglicht es, jede Änderung an Dateien im Laufe der Zeit aufzuzeichnen und zu verfolgen. Dies macht es einfach, frühere Versionen von Dateien wiederherzustellen oder die genauen Änderungen an Dateien nachzuvollziehen.

  • Zusammenarbeit: Git ermöglicht es mehreren Nutzern, an den gleichen Dateien zu arbeiten und ihre Änderungen zu verfolgen. Dies macht es einfacher, gemeinsam an Projekten zu arbeiten und zu koordinieren.

  • Branches: Git ermöglicht es, mehrere "Branches" (Zweige) innerhalb eines Repositories zu erstellen. Diese können verwendet werden, um neue Funktionen oder Änderungen in einer separaten Version des Projekts zu testen, bevor sie in die Hauptversion übernommen werden.

  • Sicherheit: Git speichert alle Änderungen in einem Repository, sodass keine Daten verloren gehen können, selbst wenn es zu technischen Problemen kommt.

  • Einfache Integration: Git kann problemlos in viele Entwicklungsumgebungen und Betriebsprozesse integriert werden und bietet eine Vielzahl von Werkzeugen und Diensten für die Zusammenarbeit und Verwaltung von Projekten.

Wie funktioniert die Versionierung (vereinfacht dargestellt)?

Es gibt ein zentrales Verzeichnis, in dem alle versionierten Dateien gespeichert sind. Dieses Verzeichnis liegt meistens bei Online-Dienstleistern wie github.com oder bitbucket.com.

Dieses zentrale Verzeichnis wird Repository genannt.

Jeder Entwickler holt sich eine lokale Kopie vom Repository auf seinem Rechner und kann dort Änderungen durchführen oder Dateien hinzufügen/entfernen.

Wenn der Entwickler einen Stand erreicht hat, der fertig zum Ausliefern ist, schiebt (pusht) er die Daten von seiner lokalen Kopie zum Repository.

Andere Entwickler werden nun über diese Änderung informiert und können die Änderungen aus dem zentralen Repository in ihre lokale Kopie übernehmen, damit sie den gleichen Stand des Codes haben.

Warum Git?

  • Git eignet sich für große wie kleine Projekte

  • Der Linux-Kernel wird auf Git entwickelt

  • Verschiedenste Großprojekte wechsel(te)n zu Git. So z.B. Gnome, Perl, Debian

  • Die deutsche E-Commerce-Lösung Shopware wird mit Git verwaltet/entwickelt

  • Die meisten Internetagenturen arbeiten mit Git

  • Git ist einfach und schnell aufzusetzen

  • Es ist schneller als andere Systeme zur Versionsverwaltung