GitHub - Dein Code in der Cloud

Git lokal ist super. Git + GitHub ist Backup, Portfolio und Zusammenarbeit in einem.

Git vs. GitHub - Was ist der Unterschied?

Git = Das Programm auf deinem Rechner, das Versionen trackt.

GitHub = Ein Online-Service, der Git-Repositories hostet.

Stell dir vor: Git ist wie ein Tagebuch, das du lokal schreibst. GitHub ist wie ein Tresor in der Cloud, wo du eine Kopie aufbewahrst.

Was GitHub bietet
  • Backup - Dein Code ist sicher, auch wenn dein Rechner stirbt
  • Portfolio - Zeig der Welt (oder Arbeitgebern) was du kannst
  • Zusammenarbeit - Mehrere Leute können am gleichen Projekt arbeiten
  • Hosting - GitHub Pages kann statische Websites kostenlos hosten
Brauche ich GitHub?

Nicht zwingend. Git funktioniert komplett ohne. Aber sobald du:

  • Ein Backup in der Cloud willst
  • Deinen Code teilen möchtest
  • Von mehreren Geräten arbeiten willst
  • Ein Portfolio aufbauen möchtest

...ist GitHub (oder GitLab, Bitbucket) der logische nächste Schritt.

GitHub Account erstellen

  1. Geh zu github.com
  2. Klick "Sign up"
  3. E-Mail, Passwort, Username wählen
  4. E-Mail bestätigen

Username-Tipp

Dein Username wird Teil deiner GitHub-URL: github.com/dein-username. Wenn du GitHub als Portfolio nutzen willst, wähl was Professionelles. "xXDarkCoder420Xx" macht sich auf dem Lebenslauf weniger gut.

Kostenlos vs. Bezahlt

Der kostenlose Account reicht völlig. Du bekommst:

  • Unbegrenzte öffentliche Repositories
  • Unbegrenzte private Repositories
  • GitHub Pages (kostenlos Websites hosten)
  • 2000 Actions-Minuten/Monat (CI/CD)

GitHub Oberfläche verstehen

GitHub kann am Anfang überwältigend wirken. Hier die wichtigsten Bereiche:

Dein Profil finden

Klick oben rechts auf dein Profilbild → "Your profile". Hier siehst du:

  • Alle deine Repositories
  • Deine Contribution-Übersicht (grüne Kästchen)
  • Deine README (falls du eine hast)

Deine Profil-URL: github.com/dein-username

Deine Repositories finden

  • Schnellzugriff: Profilbild → "Your repositories"
  • Oder: github.com/dein-username?tab=repositories
  • Einzelnes Repo: github.com/dein-username/repo-name

GitHub Pages URL finden

Wenn du GitHub Pages aktiviert hast, ist deine Live-Seite unter:

https://dein-username.github.io/repository-name/

Du findest den Link auch im Repository unter:

  1. Repository öffnen
  2. Rechts in der Sidebar: "Deployments" oder "github-pages"
  3. Oder: Settings → Pages → "Your site is live at..."
Tipp: Repository-Sidebar

Auf der rechten Seite jedes Repositories siehst du:

  • About: Beschreibung + Website-Link (falls gesetzt)
  • Releases: Veröffentlichte Versionen
  • Deployments: GitHub Pages Status
  • Languages: Verwendete Programmiersprachen

Repository auf GitHub erstellen

  1. Eingeloggt auf GitHub: Klick das + oben rechts → "New repository"
  2. Repository name: z.B. "DevPanicZone" oder "mein-projekt"
  3. Description: Optional, kurze Beschreibung
  4. Public/Private:
    • Public = Jeder kann es sehen (gut für Portfolio)
    • Private = Nur du (und eingeladene Personen)
  5. Initialize with README: NEIN! (Du hast ja schon ein lokales Projekt)
  6. Add .gitignore: NEIN! (Hast du auch schon)
  7. Klick "Create repository"

Was jetzt passiert

GitHub zeigt dir eine Seite mit Befehlen. Die wichtigen sind unter "…or push an existing repository from the command line".

HTTPS vs. SSH

Zwei Wege, um mit GitHub zu kommunizieren:

HTTPS

  • Einfacher einzurichten
  • URL sieht so aus: https://github.com/username/repo.git
  • Braucht Personal Access Token (PAT) statt Passwort
  • Token muss regelmäßig erneuert werden

SSH

  • Einmalig mehr Setup
  • URL sieht so aus: git@github.com:username/repo.git
  • Danach keine Passwort-Eingabe mehr
  • Sicherer

Empfehlung: Nimm SSH. Das Setup dauert 5 Minuten, danach hast du Ruhe.

SSH einrichten

1. SSH-Key generieren

ssh-keygen -t ed25519 -C "deine@email.com"

Es fragt nach einem Speicherort - einfach Enter drücken für den Standard. Dann optional ein Passwort (Passphrase) für extra Sicherheit.

2. SSH-Agent starten

eval "$(ssh-agent -s)"

3. Key zum Agent hinzufügen

macOS:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Linux/Windows:

ssh-add ~/.ssh/id_ed25519

4. Öffentlichen Key kopieren

cat ~/.ssh/id_ed25519.pub

Kopier den gesamten Output (fängt mit ssh-ed25519 an).

5. Key auf GitHub hinzufügen

  1. GitHub → Profilbild oben rechts → Settings
  2. Links: "SSH and GPG keys"
  3. "New SSH key"
  4. Title: z.B. "MacMini" oder "Arbeits-Laptop"
  5. Key: Einfügen was du kopiert hast
  6. "Add SSH key"

6. Testen

ssh -T git@github.com

Wenn "Hi username!" kommt, hat's geklappt.

Lokales Projekt mit GitHub verbinden

Du hast ein lokales Git-Repository und ein leeres GitHub-Repository. Jetzt verbinden:

Remote hinzufügen

git remote add origin git@github.com:dein-username/dein-repo.git

origin ist der Name für das Remote-Repository. Das ist Konvention - du könntest es auch "github" oder "cloud" nennen, aber "origin" ist Standard.

Prüfen ob's geklappt hat

git remote -v

Sollte deine GitHub-URL anzeigen.

Branch umbenennen (falls nötig)

GitHub erwartet "main" als Hauptbranch. Falls deiner "master" heißt:

git branch -M main

Erster Push

git push -u origin main

Das -u (oder --set-upstream) verknüpft deinen lokalen main-Branch mit dem remote main-Branch. Danach reicht git push.

Refresh deine GitHub-Seite - dein Code sollte jetzt dort sein!

Push - Code hochladen

Nachdem du lokal Commits gemacht hast:

git push

Das war's. Deine lokalen Commits werden auf GitHub hochgeladen.

Was wenn's nicht klappt?

Wenn jemand (oder du von einem anderen Gerät) in der Zwischenzeit gepusht hat:

git pull
git push

Erst die Änderungen holen, dann pushen.

Bestimmten Branch pushen

git push origin feature-xyz

Clone - Projekt herunterladen

Ein Repository von GitHub auf deinen Rechner kopieren:

git clone git@github.com:username/repository.git

Das erstellt einen neuen Ordner mit dem Projektnamen und der kompletten Git-Historie.

In bestimmten Ordner clonen

git clone git@github.com:username/repository.git mein-ordnername

HTTPS-Version

git clone https://github.com/username/repository.git

Pull - Änderungen holen

Wenn auf GitHub Änderungen sind (von dir oder anderen):

git pull

Das holt die Änderungen UND merged sie in deinen lokalen Branch.

Sicherer: Fetch + Merge

git fetch

Holt die Infos, merged aber noch nicht. Du kannst dann schauen:

git log origin/main

Und wenn du zufrieden bist:

git merge origin/main

README.md - Dein Projekt präsentieren

GitHub zeigt die README.md automatisch auf der Repository-Startseite an. Das ist deine Chance, dein Projekt vorzustellen.

Was rein sollte

# Projektname

Kurze Beschreibung was das Projekt macht.

## Features

- Feature 1
- Feature 2
- Feature 3

## Installation

```bash
npm install
npm start
```

## Verwendung

Wie benutzt man das Projekt?

## Technologien

- HTML5
- CSS3 / Sass
- JavaScript
- Node.js

## Lizenz

MIT License

Markdown-Basics

# H1 Überschrift
## H2 Überschrift
### H3 Überschrift

**fett**
*kursiv*
`inline code`

- Aufzählung
- Noch ein Punkt

1. Nummeriert
2. Noch eins

[Link-Text](https://url.com)

![Bild-Alt-Text](pfad/zum/bild.png)

GitHub Pages - Kostenlos hosten

GitHub kann deine statische Website kostenlos hosten. Perfekt für Portfolio-Seiten, Dokumentation oder Projekte wie DevPanicZone.

Einrichten

  1. Repository auf GitHub öffnen
  2. Settings (oben rechts im Repo)
  3. Links: "Pages"
  4. Source: "Deploy from a branch"
  5. Branch: "main" (oder "master")
  6. Folder: "/ (root)" oder "/docs"
  7. Save

Nach ein paar Minuten ist deine Seite live unter:

https://dein-username.github.io/repository-name/

Custom Domain (optional)

Du kannst auch eine eigene Domain verwenden. Unter Settings → Pages → Custom domain eintragen und DNS-Einträge setzen.

Wichtige GitHub-Konzepte

Fork

Eine Kopie eines fremden Repositories in deinen Account. Du kannst daran arbeiten, ohne das Original zu beeinflussen.

Pull Request

"Hey, ich hab was geändert, willst du das in dein Projekt übernehmen?" Wird für Zusammenarbeit und Open-Source-Beiträge genutzt.

Issues

Bug-Tracker und Feature-Requests. Wie eine To-Do-Liste für dein Projekt.

Stars

Wie "Likes". Zeigt, dass Leute dein Projekt gut finden.

Watch

Benachrichtigungen für ein Repository aktivieren.

GitHub Cheatsheet

Einmalig

# Remote hinzufügen
git remote add origin git@github.com:user/repo.git

# Erster Push
git push -u origin main

Tägliche Arbeit

# Änderungen hochladen
git push

# Änderungen holen
git pull

# Status der Remotes
git remote -v

Projekt klonen

git clone git@github.com:user/repo.git

Remote-Branches

# Alle anzeigen (lokal + remote)
git branch -a

# Remote-Branch holen
git checkout -b feature origin/feature

Häufige Probleme

"Permission denied (publickey)"

Dein SSH-Key ist nicht korrekt eingerichtet. Check:

ssh -T git@github.com

Wenn's nicht klappt, geh nochmal durch die SSH-Setup-Schritte.

"rejected - non-fast-forward"

Jemand hat vor dir gepusht. Erst pullen:

git pull --rebase
git push

"remote origin already exists"

Du hast schon ein Remote namens "origin". Entweder löschen:

git remote remove origin
git remote add origin neue-url

Oder anderen Namen wählen:

git remote add github neue-url

Versehentlich sensitive Daten gepusht

Passwörter, API-Keys etc. sind jetzt in der Git-Historie. Ändere SOFORT das Passwort/den Key. Die Datei aus der Historie zu entfernen ist kompliziert und die Daten waren kurz öffentlich.

Besser: Nutze .gitignore für .env-Dateien von Anfang an!

Nachträglich Dateien aus Git entfernen

Du hast node_modules oder andere Dateien gepusht, die nicht ins Repo gehören? So entfernst du sie:

# 1. Erst .gitignore aktualisieren (falls noch nicht geschehen)
# Füge z.B. node_modules/ hinzu

# 2. Dateien aus Git entfernen (bleiben aber lokal!)
git rm -r --cached node_modules/
git rm --cached .DS_Store

# 3. Commit & Push
git commit -m "Remove: node_modules aus Git entfernt"
git push
Was macht --cached?

--cached entfernt die Dateien nur aus Git, nicht von deiner Festplatte. Ohne --cached würden die Dateien auch lokal gelöscht!

Wichtig: Die Dateien sind noch in der Git-Historie. Für ein komplett sauberes Repo müsstest du die Historie neu schreiben (kompliziert). Für die meisten Fälle reicht das Entfernen aber aus.

Best Practices

Regelmäßig pushen

Mindestens am Ende jedes Arbeitstages. So hast du immer ein Backup.

Vor der Arbeit pullen

Wenn du von mehreren Geräten arbeitest: Immer erst git pull, dann arbeiten.

Sinnvolle .gitignore

Keine node_modules, keine .env-Dateien, keine IDE-Einstellungen.

Gute README

Dein Repository ist nur so gut wie seine Dokumentation. Erkläre, was das Projekt macht und wie man es benutzt.

Private für Unfertiges

Wenn du noch lernst oder experimentierst: Private Repository. Du kannst es später public machen.

Branches für Features

Auch wenn du alleine arbeitest: Feature-Branches halten main sauber.

Nächste Schritte

Du hast jetzt das Grundwissen für GitHub. Ein paar Dinge zum Erkunden, wenn du tiefer einsteigen willst:

  • GitHub Actions - Automatisierung (Tests, Deployments)
  • Branch Protection Rules - Verhindere versehentliche Pushes zu main
  • GitHub Projects - Kanban-Boards für Projektmanagement
  • Collaborators - Andere zu deinem Repository einladen

Zum Üben

  1. Erstell ein GitHub-Konto
  2. Richte SSH ein
  3. Erstell ein leeres Repository
  4. Verbinde ein lokales Projekt
  5. Push deinen ersten Commit
  6. Schreib eine README.md
  7. Aktiviere GitHub Pages (falls statische Website)

Nach dem ersten Mal wird git push so selbstverständlich wie Speichern.

Mehr aus Verschiedenes

Tutorials werden geladen...