Unterschied zwischen git und Github

Generell ist Git eine Applikation die in der Softwareentwicklung eingesetzt wird. Github ist ein Service der auf dieser Software basiert und Millionen Software-Entwickler in der Welt miteinander verbindet.

Git

Git ist ein Versionskontrollsystem, welches in Teams zu Softwareentwicklung eingesetzt wird. Möglich ist es aber auch, als einzelner Entwickler Git einzusetzen. Git ermöglicht es, Quellcode zur Versionierung. Einfach gesagt, wenn ein Software-Projekt, einen bestimmten Stand erreicht hat, wird dieser Stand gespeichert, sowie alle Ă„nderungen am Quellcode „eingefroren“. Softwareentwickler können dann diesem Stand dann eine Versionsnummer geben. Es ist aber auch möglich mit kleinen vielen Versionen zu arbeiten. Die sogenannten commits. „Committet“ ein Entwickler seinen Stand, z.b. ein Feature oder eine Fehlerbeseitigung, wird dieser in Git mit einer Nummer und einer Nachricht gespeichert. So können bestimmte Ă„nderungen sehr leicht rĂĽckgängig gemacht, zurĂĽck verfolgt und nachvollzogen werden.

Als Alternative gibt es SVN oder CVS.


Verzeichnis .git

Git speichert in einem gesonderten .git, Verzeichnis alle Commits und Versionen. 

Zur Besseren Visualisierung gibt es Applikationen die einem die Struktur und Versionen grafisch aufbereitet darstellen.

GUI Client fĂĽr ein Git Software Projekt

Github

Git ermöglicht es, an Quellcode gemeinsam zu programmieren. Github wird hier als Schnittstelle eingesetzt. Damit der Code vom einen Entwickler zum anderen gelangt, werden die sogenannten Repositories (Projekte die mit Git verwaltet werden) auf Github gespeichert. Die Commits und Versionen werden dann mittels Befehlen auf Github hochgeladen und wieder runter geladen (Push und Pull). Das ermöglicht einen reibungslosen Ablauf im Prozess der Softwareentwicklung und garantiert, dass jeder Entwickler auf dem aktuellen Stand ist. Es gibt geschlossene Repositories und öffentliche. Auf der Webseite von Github ist es möglich die Repositories anzusehen und zu verwalten.
Github ist im openSource Bereich sehr verbreitet. Bei dieser Software ist der Quellcode über Github frei zugänglich und jeder Github Benutzer kann an der quelloffenen Software mit programmieren.

Als Alternative zu github soll Gitlab erwähnt sein.

Bücher bei Amazon zum Thema Versionsverwaltung und Git: 
https://amzn.to/2QAFIvZ