Station 03/Die Heimat: GitHub·Vorschau
Station 03 · Festhalten und aufbewahren/Phase 4

Die Heimat: GitHub

Ein zweiter Ort für Ihren Code — ein Dienst, der schon steht, den man nicht installieren muss und der für ein privates Repository nichts kostet.

Bis hierher liegt jeder Stand auf einem Rechner. Git hält die Geschichte fest, aber die Geschichte liegt im selben Ordner wie die Anwendung — ein defekter Datenträger, ein falsch gelöschtes Verzeichnis, und beides ist zugleich weg. Ein zweiter Ort behebt das, und mehr will diese Phase nicht.

Warum GitHub und nicht der eigene Git-Server? Weil er schon da ist. Ein eigener Dienst müsste erst irgendwo laufen — und dieses Irgendwo, der Server, kommt erst in Etappe C. Wer ihn später lieber selbst betreibt, findet in Station 04 den Weg dorthin: derselbe Handgriff, andere Adresse.
1

Ein Konto und ein privates Repository

Auf github.com ein Konto anlegen, dann New repository: Name ausleihe, Sichtbarkeit Private, und nichts ankreuzen (keine README, keine .gitignore, keine Lizenz) — Ihr Ordner bringt das alles schon mit.

Privat ist die Voreinstellung dieses Kurses. Ein öffentliches Repository ist eine Veröffentlichung — mit allem, was je darin stand, auch dem, was Sie vor drei Wochen wieder herausgenommen haben.

2

Anmelden, ohne ein Passwort einzutippen

Terminal
# einmalig je Rechner: ein Schlüsselpaar
ssh-keygen -t ed25519 -C "laptop-buero"
cat ~/.ssh/id_ed25519.pub

# den ausgegebenen Text einfügen unter
# GitHub → Settings → SSH and GPG keys → New SSH key

ssh -T git@github.com   # Probe: „Hi <konto>! You've successfully authenticated“

Es ist dasselbe Schlüsselpaar-Verfahren, das später den Zugang zum Server regelt (Station 05, „Mehrere Rechner & Übergabe“). Wer es hier einmal gemacht hat, macht es dort nicht neu.

3

Die Fernkopie eintragen und den Stand hochschieben

Terminal
git remote add origin git@github.com:<konto>/ausleihe.git
git push -u origin main

origin ist nur ein Name — der übliche für „die Heimat“. Von jetzt an genügt git push.

4

Die Probe: an einem anderen Ort auspacken

Terminal
cd /tmp
git clone git@github.com:<konto>/ausleihe.git probe
ls probe

Erst dieser Schritt beweist, dass der zweite Ort trägt. Eine Sicherung, die nie zurückgeholt wurde, ist eine Vermutung — dieselbe Regel, die im Kurs „Bevor Anwender damit arbeiten“ für die Datensicherung gilt.

  • Prüfliste
Sehen Sie nach, was tatsächlich oben liegt. Der Pre-Commit-Haken aus der vorigen Phase fängt Geheimnisse ab, bevor sie in einen Commit kommen — aber nur ab dem Zeitpunkt, an dem er eingerichtet wurde. Was vorher committet wurde, ist mit hochgegangen. Ein Blick in die Dateiliste im Browser kostet zwanzig Sekunden.
WarumSpeichern und Veröffentlichen sind zwei verschiedene Dinge
BefehlBedeutungWirkung
git commitFesthalten. Passiert oft, auch mitten in der Arbeit.ändert nichts außerhalb Ihres Rechners
git push origin mainAufbewahren. Passiert oft.legt den Stand an den zweiten Ort — ändert nichts, was läuft
git push deploy mainVeröffentlichen. Passiert bewusst.tauscht die laufende Anwendung (erst ab Etappe C)

Zwei Fernkopien, zwei Bedeutungen. Wer sie zusammenlegt, verliert die Möglichkeit, einen Zwischenstand zu sichern, ohne ihn zu veröffentlichen — und das ist genau die Möglichkeit, die man am Freitagnachmittag braucht.

In Etappe C kommt deshalb ein zweiter Name dazu: deploy. Es ist derselbe Code, dieselbe Historie, eine andere Absicht.

TiefeWas ein privates Repository bei GitHub bedeutet — und was nicht

Nicht bedeutet es Verschlüsselung. Der Code liegt unverschlüsselt auf Servern eines US-Unternehmens; GitHub kann ihn technisch lesen, und die Nutzungsbedingungen erlauben die Verarbeitung zum Betrieb des Dienstes. Für den Quellcode einer betrieblichen Anwendung ist das in aller Regel unproblematisch — für personenbezogene Daten wäre es das nicht, aber die gehören ohnehin nie ins Repository (Regel 9).

Wer diese Abhängigkeit nicht will, hat zwei Wege, und beide stehen in diesem Kurs: Forgejo auf dem eigenen Server (Station 04) — quelloffen, vom Codeberg e. V. getragen, vom Einrichtungs-Skript mitinstalliert. Oder, für den Anfang, ein zweiter Ort ganz ohne Dienst:

Eine Heimat auf einem Netzlaufwerk
git init --bare /Volumes/backup/ausleihe.git
git remote add origin /Volumes/backup/ausleihe.git
git push -u origin main

Das ist vollwertiges Git und kostet nichts. Was fehlt, ist alles, was um Git herum nützlich ist: Ansehen im Browser, Nachverfolgen von Aufgaben, und die Anbindung an Coolify in Etappe C.

Zugang erhalten
Fortschritt merken?Mit Zugang bleiben Häkchen und erledigte Phasen am Konto — auf jedem Gerät.