Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Was ist GitHub?
GitHub ist eine Online-Plattform, auf der Softwareprojekte und deren Dateien gespeichert und gemeinsam verwaltet werden können.
Die Grundlage dafür bildet das Versionsverwaltungssystem Git. Git zeichnet Änderungen an Dateien auf. GitHub stellt diese Git-Projekte online bereit und ergänzt sie um weitere Funktionen für Verwaltung, Zusammenarbeit und Dokumentation.
Ein auf GitHub gespeichertes Projekt wird als Repository bezeichnet.
Für mich ist GitHub noch Neuland. Diese Seite dokumentiert deshalb meinen Einstieg, die wichtigsten Grundlagen und vor allem die Dinge, die ich bei meiner eigenen Arbeit tatsächlich kennenlerne und nutze.
Git und GitHub – ist das dasselbe?
Nein. Git und GitHub gehören zusammen, sind aber nicht dasselbe.
Git ist ein Versionsverwaltungssystem. Es läuft auf meinem Rechner und kann Änderungen an Dateien eines Projekts nachvollziehen und speichern.
GitHub ist eine Online-Plattform, auf der Git-Repositories gespeichert werden können. Dadurch kann ich mein lokales Git-Projekt zusätzlich online ablegen und beispielsweise von anderen Rechnern darauf zugreifen oder mit anderen daran arbeiten.
Vereinfacht kann ich mir den Unterschied so merken:
Git → Versionsverwaltung auf meinem Rechner GitHub → Plattform für meine Git-Repositories im Internet
Git funktioniert auch ohne GitHub. GitHub baut dagegen auf Git auf.
Warum beschäftige ich mich damit?
GitHub ist für mich vor allem im Zusammenhang mit meinen eigenen Entwicklungsprojekten interessant.
Bei TheCruiserBlog nutze ich bereits Git zur Versionsverwaltung. Das Projekt besitzt außerdem ein GitHub-Repository, sodass der lokale Entwicklungsstand zusätzlich auf GitHub gespeichert werden kann.
Bisher habe ich GitHub dabei eher benutzt, ohne mich intensiver damit zu beschäftigen. Jetzt möchte ich verstehen, was dabei eigentlich passiert und wie Git und GitHub zusammenspielen.
Mein Ziel ist nicht, möglichst viele GitHub-Funktionen kennenzulernen. Ich möchte zunächst genau die Funktionen verstehen und dokumentieren, die ich für meine eigenen Projekte tatsächlich benötige.
