# GitHub-Konto mit PhpStorm verbinden

Damit PhpStorm Pull Requests anzeigen, Repositories veröffentlichen und Push- oder Fetch-Vorgänge gegenüber GitHub authentifizieren kann, benötigt die IDE eine eigene, von der reinen Git-Konfiguration unabhängige Verbindung zu deinem GitHub-Konto. Diese Verbindung ist mehr als nur eine Anmeldung: Sie stellt einen *Sicherheits-Token* bereit, über den PhpStorm im Namen deines Kontos handelt – etwa beim Erstellen von Repositories, beim Kommentieren von Pull Requests oder beim Anzeigen von Issues direkt im Editor.

## Warum eine separate Verbindung notwendig ist

Git selbst kennt GitHub nicht. Für Git ist ein Remote-Repository lediglich eine URL, die per HTTPS oder SSH angesprochen wird. GitHub-spezifische Funktionen – etwa das *Pull-Request-Werkzeugfenster*, die Anzeige von Reviews oder das direkte Erstellen eines Repositories aus der IDE – benötigen jedoch die *GitHub-API*. Diese API erfordert eine eigenständige Authentifizierung, die PhpStorm getrennt von den lokalen Git-Zugangsdaten verwaltet.

> 💡 **Merke:** Die Anmeldung bei GitHub in PhpStorm betrifft die *API-Integration*, nicht automatisch den Datenaustausch per `git push` oder `git pull`. Für Letzteres bleibt zusätzlich eine funktionierende HTTPS- oder SSH-Authentifizierung erforderlich, wie sie in einem späteren Kapitel vertieft wird.

## Voraussetzungen

Bevor du die Verbindung herstellst, sollten folgende Punkte erfüllt sein:

- Ein bestehendes **GitHub-Konto** mit verifizierter E-Mail-Adresse.
- **Zwei-Faktor-Authentifizierung** ist empfehlenswert, aber für die Erstverbindung nicht zwingend.
- Ein aktueller **Browser**, da die Anmeldung meist über den systemeigenen Webbrowser erfolgt.
- Eine funktionierende **Internetverbindung** ohne blockierende Firewall-Regeln für `github.com` und `api.github.com`.

## Die Verbindung einrichten

### Schritt 1: Einstellungen öffnen

Navigiere zu:

```
Datei → Einstellungen → Version Control → GitHub
```

Alternativ erreichst du denselben Dialog über das Menü `Git → GitHub → Zu GitHub anmelden…`, sobald du dich innerhalb eines Projekts befindest.

### Schritt 2: Anmeldemethode wählen

PhpStorm bietet in der Regel zwei gleichwertige Wege an:

| Methode | Ablauf | Empfehlung |
|---|---|---|
| **Log In via GitHub** | Öffnet den Standardbrowser, du meldest dich dort an und autorisierst PhpStorm per OAuth | Für die meisten Anwender die einfachste und sicherste Variante |
| **Log In with Token** | Du erzeugst manuell einen *Personal Access Token* auf GitHub und fügst ihn in PhpStorm ein | Sinnvoll bei eingeschränkten Berechtigungen, Firmenrichtlinien oder Automatisierung |

Der folgende Ablauf verdeutlicht den OAuth-basierten Anmeldeprozess:

```mermaid
sequenceDiagram
    participant P as PhpStorm
    participant B as Browser
    participant G as GitHub

    P->>B: Öffnet Autorisierungsseite
    B->>G: Login-Daten senden
    G->>B: Autorisierung bestätigen
    B->>G: Zugriff für PhpStorm erlauben
    G->>P: Token an PhpStorm übergeben
    P->>P: Token verschlüsselt speichern
```

### Schritt 3: Anmeldung über den Browser abschließen

Bei der Browser-Variante geschieht Folgendes:

1. PhpStorm öffnet eine GitHub-Autorisierungsseite.
2. Du meldest dich – falls noch nicht geschehen – mit deinem GitHub-Konto an.
3. GitHub zeigt an, welche **Berechtigungen** (Scopes) PhpStorm anfordert, etwa Zugriff auf Repositories, Pull Requests und Benutzerinformationen.
4. Nach Bestätigung kehrst du automatisch zu PhpStorm zurück; das Konto erscheint in der Liste der verbundenen Konten.

### Schritt 4: Anmeldung per Token als Alternative

Falls dein Unternehmen OAuth-Anmeldungen einschränkt oder du volle Kontrolle über die Berechtigungen behalten möchtest, erstellst du stattdessen einen Token direkt auf GitHub:

1. Auf GitHub: `Settings → Developer settings → Personal access tokens → Fine-grained tokens`.
2. Einen neuen Token mit einem aussagekräftigen Namen wie `PhpStorm – Arbeitsplatz` erzeugen.
3. **Ablaufdatum** und **Berechtigungsumfang** bewusst einschränken – etwa nur `repo` und `read:user`, statt vollständigen Kontozugriff zu gewähren.
4. Den Token einmalig kopieren, da er danach nicht erneut angezeigt wird.
5. In PhpStorm bei `Log In with Token` einfügen und bestätigen.

> ⚠️ **Sicherheitshinweis:** Ein Personal Access Token ist funktional einem Passwort gleichwertig. Bewahre ihn niemals im Klartext in Projektdateien oder Commits auf. Kapitel 21 vertieft den sicheren Umgang mit Tokens und deren Rotation.

## Mehrere GitHub-Konten verwalten

Gerade bei der Trennung von privaten und beruflichen Projekten ist es üblich, mehrere GitHub-Konten zu nutzen. PhpStorm unterstützt dies direkt:

- Im gleichen Einstellungsdialog kannst du über das **Plus-Symbol** ein weiteres Konto hinzufügen.
- Beim Veröffentlichen eines Repositories oder Erstellen eines Pull Requests fragt PhpStorm anschließend, **welches Konto** verwendet werden soll, sofern mehrere hinterlegt sind.
- Konten lassen sich jederzeit über das **Minus-Symbol** entfernen, ohne dass dies lokale Repository-Daten beeinflusst.

## Die Verbindung überprüfen

Nach erfolgreicher Anmeldung solltest du folgende Punkte kontrollieren:

1. Im Menü `Git → GitHub` erscheinen nun Aktionen wie `Create Pull Request` oder `View Pull Requests`.
2. Im Werkzeugfenster **Pull Requests** lassen sich bestehende Anfragen des verbundenen Kontos laden.
3. Beim Veröffentlichen eines neuen, lokalen Projekts über `Git → GitHub → Share Project on GitHub` wird das verbundene Konto automatisch als Ziel vorgeschlagen.

## Typische Probleme und ihre Lösung

| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Browserfenster öffnet sich, aber Login bleibt hängen | Firewall oder Proxy blockiert `github.com` | Netzwerkeinstellungen unter `Einstellungen → Appearance & Behavior → System Settings → HTTP Proxy` prüfen |
| Token wird abgelehnt | Fehlende Berechtigungen oder abgelaufener Token | Neuen Token mit korrektem Scope erzeugen |
| Pull-Request-Werkzeugfenster bleibt leer | Konto ohne Zugriff auf das jeweilige Repository verbunden | Richtiges Konto im Projekt auswählen oder Repository-Berechtigung prüfen |
| Anmeldung wiederholt sich bei jedem Start | Zugangsdaten werden nicht dauerhaft gespeichert | Systemeigenen *Credential Store* statt reinen Arbeitsspeicher-Cache in den Einstellungen aktivieren |

## Zusammenfassung

Die Verbindung zwischen PhpStorm und GitHub bildet die Grundlage für nahezu alle komfortablen GitHub-Funktionen innerhalb der IDE – von der Veröffentlichung neuer Repositories bis zur Verwaltung von Pull Requests. Ob du dich per Browser-Login oder mit einem fein abgestimmten Personal Access Token anmeldest, hängt von deinen Sicherheitsanforderungen und organisatorischen Vorgaben ab. Entscheidend ist, dass du die vergebenen Berechtigungen bewusst wählst und die Verbindung regelmäßig überprüfst, bevor du im nächsten Schritt das **integrierte Terminal** einrichtest, um GitHub-Funktionen und klassische Git-Kommandozeile flexibel zu kombinieren.