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.
Wie funktioniert GitHub grundsätzlich?
Auf meinem Rechner befindet sich zunächst das eigentliche Projekt mit seinen Dateien.
Git verwaltet die Änderungen an diesen Dateien lokal. Bestimmte Arbeitsstände kann ich als sogenannten Commit festhalten.
Ein GitHub-Repository ist die Online-Gegenstelle zu meinem lokalen Git-Repository. Beide können miteinander verbunden werden.
Das Grundprinzip kann ich mir zunächst so vorstellen:
Projektdateien auf meinem Rechner
↓
Git
↓
Commit
↓
Push
↓
GitHub
Mit push übertrage ich meine lokal gespeicherten Änderungen zu GitHub.
Umgekehrt können Änderungen von GitHub auch wieder auf meinen Rechner übernommen werden. Diesen Weg lerne ich später genauer kennen.
Meine Umgebung
GitHub nutze ich im Zusammenhang mit meiner lokalen Entwicklungsumgebung für TheCruiserBlog.
Meine derzeitige Umgebung:
- Betriebssystem: Windows
- Lokale Entwicklungsumgebung: XAMPP
- Projekt: TheCruiserBlog
- Lokales Projektverzeichnis: E:\xampp\htdocs\thecruiserblog
- Versionsverwaltung: Git
- Online-Plattform: GitHub
- Hauptbranch: main
Das lokale Projekt ist bereits als Git-Repository eingerichtet und mit einem Repository auf GitHub verbunden.
Änderungen kann ich lokal mit Git erfassen und anschließend zu GitHub übertragen.
Mein erstes Repository
Mein erstes GitHub-Repository gehört zu meinem Projekt TheCruiserBlog.
Das Projekt existiert lokal auf meinem Rechner als Git-Repository und ist mit einem Repository auf GitHub verbunden.
Damit gibt es zwei Seiten meines Projekts:
Lokal auf meinem Rechner
E:\xampp\htdocs\thecruiserblog
↕ Git
Repository auf GitHub
Für mich ist zunächst wichtig zu verstehen, wie diese Verbindung eingerichtet ist und wie ich erkennen kann, mit welchem GitHub-Repository mein lokales Projekt verbunden ist.
Die vorhandene Konfiguration untersuche ich deshalb Schritt für Schritt direkt mit Git.
Verbindung zu GitHub
Mit folgendem Befehl kann ich prüfen, mit welchem entfernten Repository mein lokales Git-Repository verbunden ist:
git remote -v
Bei TheCruiserBlog wird das GitHub-Repository unter dem Namen origin geführt.
Die Ausgabe unterscheidet zwei Verwendungsrichtungen:
fetch→ Änderungen vom entfernten Repository abrufenpush→ eigene Änderungen zum entfernten Repository übertragen
In meiner aktuellen Konfiguration zeigen beide auf dasselbe GitHub-Repository.
Der Name origin ist dabei lediglich der lokale Kurzname für dieses entfernte Repository.
