Git ist ein open source distributed version control system.
Was bedeuetet das?

Die Aufgabe eines Version Control System ist es, Dateien zu speichern, zur Verfügung zu stellen und Änderungen an Ihnen zu dokumentieren.
Erfasst werden dabei wer was wann geändert hat. In der Regel werden diese Systeme verwendet um Quelltext zu verwalten, es können aber genauso gut andere Dateitypen mit einer Versionierung gepflegt werden. Oft wird so ein System nicht als VCS sondern als CVS bezeichnet, meint aber das gleiche.

Sollte es nötig werden, den Stand von vor einer bestimmten Änderung wiederherzustellen, ist dies mit Git oder einem anderen VCS ohne Probleme möglich.
In Firmen gibt es in der Regel einen Server auf dem ein VCS läuft und die Mitarbeiter verbinden sich mit dieser Ressource um Änderungen am Code einzuspielen.

Ein Problem dabei ist es, dass diese Ressource nur aus dem Firmennetz erreichbar ist und wenn man kein VPN in das Firmennetz hat oder das Internet an einem Standort ausfällt, können keine Changes commited werden.

Bevor ich aber auf die gängigsten Begriffe und die dahinterstehenden Konzepte von Verhaltenskontrolle eingehen werde noch kurz ein Wort zu dem eingangs erwähnten distrubuted. In einem klassischen VCS hat ein zentraler Server Informationen über die Änderungen und damit die älteren Versionen.

Distributed (eng. verteilt) in diese Fall bedeutet, dass jeder Nutzer eine lokale Kopie der Dateien und eine Historie aller Änderungen hält.
Der Vorteil davon ist, dass die meisten Aktionen durchgeführt werden können, ohne das eine Verbindung zu einem Server hergestellt werden muss.

Ihr seht bereits, Versionsverwaltung hat eine eingene Lingo.
Anfangs sprach ich davon, Änderungen am Code einzuspielen und jetzt verwendete ich den Ausdruck changes committen.
(Was sich zugegebenermaßen ziemlich komisch liest)

Lasst mich euch die gängigsten Begriffe vorstellen und was sie bedeuten.

Git Lingo
Pull – das herunterladen bzw. aktualisieren bereits heruntergeladener Dateien und der Änderungshistorie
Commit – das hochladen von Dateien bzw. das Einspielen von Änderungen an Dateien

Ja git läuft auch auf Windows und läuft auch mit GUI.
Damit werde ich mich aber nicht beschäftigen.

Jetzt, da das aus dem Weg ist, lasst uns beginnen.
Ob git bereits installiert ist könnt Ihr prüfen mit git --version

(Um git wie in dem Screenshot zu sehen direkt in die shell zu integrieren, seht euch OhMyZsh Post 1 und Post 2 an.)

Falls git nicht installiert ist könnt Ihr es auf fast allen Distros einfach mit apt oder yum installieren.

apt install git

Cheers,
Ori