Files
Git-Schulung/05-remote-und-pullrequests/README.md
T

3.8 KiB
Raw Blame History

🌐 Modul 05 Remote & Pull Requests

Bisher hast du nur lokal gearbeitet. In diesem Modul verbindest du dein Repo mit einem Server und lernst, wie Teams zusammenarbeiten.


Lokales vs. Remote-Repository

Ein lokales Repository liegt auf deinem Rechner. Ein Remote-Repository liegt auf einem Server (z. B. GitHub oder GitLab) und ist für alle Teammitglieder erreichbar.

flowchart LR
    LOCAL[Lokales Repo\n💻 dein Rechner] -->|git push| REMOTE[origin\n☁️ GitHub / GitLab]
    REMOTE -->|git pull| LOCAL
    REMOTE -->|git fetch| LOCAL
    COLLEAGUE[Kollegen-Repo\n💻 anderer Rechner] -->|git push| REMOTE
    REMOTE -->|git pull| COLLEAGUE

Remote-Verbindung einrichten

Schritt 1: Remote-Repo anlegen

Erstelle auf GitHub oder GitLab ein leeres Repository (ohne README, ohne .gitignore).

Schritt 2: Remote-URL verknüpfen

git remote add origin https://github.com/deinname/mein-repo.git

Schritt 3: Remote-Verbindung prüfen

git remote -v
origin  https://github.com/deinname/mein-repo.git (fetch)
origin  https://github.com/deinname/mein-repo.git (push)

Push Commits hochladen

git push -u origin main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (5/5), 432 bytes | 432.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/deinname/mein-repo.git
 * [new branch]      main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

Das -u speichert die Verbindung. Ab jetzt reicht git push.


Pull & Fetch Änderungen herunterladen

git pull

Lädt neue Commits vom Remote und integriert sie direkt in deinen aktuellen Branch (= git fetch + git merge).

git fetch

Lädt neue Commits, integriert sie aber noch nicht. Du kannst erst prüfen, was sich geändert hat:

git fetch
git log HEAD..origin/main --oneline
git merge origin/main
Befehl Was passiert
git fetch Holt neue Commits, verändert deinen Branch nicht
git pull Holt + merged (= fetch + merge)

Der Pull-Request-Workflow

Ein Pull Request (PR) ist keine Git-Funktion, sondern eine Funktion von GitHub/GitLab. Er ermöglicht Code-Review, bevor Änderungen in main landen.

Typischer Ablauf:

  1. Du erstellst einen Feature-Branch lokal
  2. Du machst Commits auf dem Branch
  3. Du pushst den Branch auf das Remote:
    git push -u origin feature/mein-feature
    
  4. Auf GitHub/GitLab klickst du auf "New Pull Request" (GitHub) oder "New Merge Request" (GitLab)
  5. Du wählst main als Zielbranch und deinen Feature-Branch als Quellbranch
  6. Du gibst Titel und Beschreibung ein
  7. Kollegen reviewen den Code und hinterlassen Kommentare
  8. Du bearbeitest Feedback und machst weitere Commits (erscheinen automatisch im PR)
  9. Nach Freigabe klickt jemand auf "Merge"

Mini-Aufgabe

Voraussetzung: Du hast einen Account auf GitHub oder GitLab.

  1. Erstelle ein leeres Remote-Repo (kein README!)
  2. Verbinde dein lokales Repo aus Modul 02 mit dem Remote:
    git remote add origin <URL-deines-Repos>
    git push -u origin main
    
  3. Öffne das Remote-Repo im Browser deine Dateien sind da!
  4. Erstelle einen Branch feature/test, mache einen Commit, push ihn und erstelle einen Pull Request

Erfolgskriterien

  • git remote -v zeigt deine Remote-URL
  • git push hat alle Commits hochgeladen (Status 200 / kein Fehler)
  • Du kannst deine Dateien im Browser auf GitHub/GitLab sehen
  • Du hast einen Pull Request erstellt

Weiter geht's mit: 06 Quick Reference