Credential Manager einrichten Ziel dieser Einrichtung Der Git Credential Manager — kurz GCM — verwaltet Zugangsdaten für Git-Server sicher. Unter Windows 11 speichert er Anmeldungen normalerweise im Windows-Anmeldeinformationsmanager und verhindert, dass du Benutzername, Token oder Passwort bei jedem git pull und git push erneut eingeben musst. 🔐 Für GitHub wird der Credential Manager vor allem bei HTTPS-Remotes verwendet: https://github.com/beispielkonto/mein-projekt.git Bei SSH-Remotes übernimmt dagegen der SSH-Agent die Authentifizierung. Dazu mehr im Kapitel über Remotes und Authentifizierung. Wichtig: GitHub akzeptiert für Git-Operationen über HTTPS kein Kontopasswort mehr. Stattdessen verwendest du eine Browser-Anmeldung über den Credential Manager oder einen Personal Access Token. Was der Credential Manager tut Der Credential Manager vermittelt zwischen Git, dem Git-Hoster und der sicheren Windows-Anmeldeverwaltung. Git benötigt Zugang zu einem geschützten Remote-Repository. Git ruft den konfigurierten Credential Helper auf. Der Credential Manager prüft, ob bereits gültige Zugangsdaten existieren. Falls nicht, öffnet er normalerweise den Browser zur Anmeldung. Nach erfolgreicher Anmeldung speichert Windows die erhaltene Berechtigung sicher. Git kann künftig auf das Repository zugreifen, ohne erneut nach Zugangsdaten zu fragen. Der Ablauf gilt nicht nur für GitHub, sondern unter anderem auch für Azure DevOps, GitLab und Bitbucket — abhängig von deren Konfiguration. Voraussetzung: Git for Windows mit Credential Manager Bei der Installation von Git for Windows sollte die Option für den Git Credential Manager aktiviert sein. In aktuellen Git-for-Windows-Versionen ist dies üblicherweise die empfohlene Standardauswahl. Prüfe zunächst, ob Git verfügbar ist: git --version Prüfe anschließend, welcher Credential Helper konfiguriert ist: git config --show-origin --get-all credential.helper Eine typische Ausgabe unter Windows sieht ähnlich aus: file:C:/Program Files/Git/etc/gitconfig manager Der Wert manager bedeutet, dass Git den modernen Git Credential Manager verwendet. Die genaue Dateiposition kann je nach Installation abweichen. Entscheidend ist der Wert manager, nicht der exakte Pfad. Credential Manager aktivieren Falls keine Ausgabe erscheint oder ein anderer Helper eingetragen ist, kannst du den Credential Manager für dein Benutzerkonto aktivieren: git config --global credential.helper manager Danach kontrollierst du die Einstellung erneut: git config --global --get credential.helper Erwartete Ausgabe: manager Die Option --global speichert die Einstellung in deiner persönlichen Git-Konfiguration. Unter Windows liegt diese normalerweise in: C:\Users\\.gitconfig Du kannst die Konfigurationsquelle vollständig anzeigen lassen: git config --global --list --show-origin Sichere Speicherung unter Windows verstehen Der Credential Manager legt Zugangsdaten nicht im Repository und auch nicht in einer Projektdatei ab. Die sichere Speicherung erfolgt im Windows-Anmeldeinformationsmanager. Du öffnest ihn über die Windows-Suche: Drücke die Windows-Taste. Suche nach Anmeldeinformationsverwaltung. Öffne Anmeldeinformationsverwaltung. Wähle Windows-Anmeldeinformationen. Dort können Einträge erscheinen, die sich auf GitHub oder andere Git-Dienste beziehen, beispielsweise: git:https://github.com Die genaue Bezeichnung kann abhängig von GCM-Version, Anmeldeverfahren und Git-Hoster variieren. Was du dort tun darfst — und was nicht Aktion Zweck Empfehlung Eintrag ansehen Gespeicherte Git-Anmeldung prüfen Unbedenklich Eintrag entfernen Defekte oder falsche Anmeldung zurücksetzen Sinnvoll bei Authentifizierungsproblemen Eintrag bearbeiten Zugangsdaten manuell ersetzen Nur bei klarer Ursache Token kopieren oder weitergeben Geheimnis offenlegen Niemals Zugangsdaten in Dateien speichern Sicherheitsrisiko Niemals Entfernst du einen Eintrag, werden keine Repository-Dateien und keine Commits gelöscht. Bei der nächsten geschützten HTTPS-Operation fordert Git lediglich eine neue Anmeldung an. Die erste Anmeldung bei GitHub durchführen Die eigentliche Anmeldung erfolgt beim ersten Zugriff auf ein privates GitHub-Repository per HTTPS. Wechsle in ein vorhandenes lokales Repository: cd C:\Projekte\mein-projekt Prüfe die Remote-URL: git remote -v Eine HTTPS-Verbindung sieht beispielsweise so aus: origin https://github.com/beispielkonto/mein-projekt.git (fetch) origin https://github.com/beispielkonto/mein-projekt.git (push) Starte dann eine Operation, die Zugriff auf GitHub benötigt: git fetch origin Falls noch keine gültige Anmeldung gespeichert ist, passiert in der Regel Folgendes: Git startet den Credential Manager. Ein Browserfenster öffnet sich. Du meldest dich bei GitHub an. GitHub fragt gegebenenfalls nach einer Freigabe für den Git Credential Manager. Nach erfolgreicher Bestätigung kehrst du zur Git Bash zurück. git fetch wird ausgeführt. Bei aktivierter Zwei-Faktor-Authentifizierung bestätigst du die Anmeldung zusätzlich mit deinem zweiten Faktor. Alternative: Zugriff mit einem privaten Repository testen Wenn du noch kein lokales Repository besitzt, kannst du die Verbindung mit einem Repository testen, auf das dein GitHub-Konto Zugriff hat: git ls-remote https://github.com//.git Ersetze die Platzhalter durch deinen GitHub-Benutzernamen und den Namen eines privaten Repositorys. Bei Erfolg listet Git Referenzen auf, beispielsweise: a1b2c3d4e5f6... HEAD a1b2c3d4e5f6... refs/heads/main Ein öffentliches Repository ist für diesen Test weniger geeignet, weil es ohne Anmeldung lesbar sein kann. Browser-Anmeldung und Token unterscheiden Der Credential Manager kann die Anmeldung oft direkt über den Browser durchführen. Das ist für den Einstieg die komfortabelste und sicherste Methode. Es gibt jedoch Situationen, in denen Git nach einem Benutzernamen und einem Passwort fragt. Bei GitHub gilt dann: Als Benutzername verwendest du deinen GitHub-Benutzernamen. Als Passwort verwendest du einen Personal Access Token. Dein normales GitHub-Kontopasswort funktioniert dafür nicht. Ein Token ist ein geheimes Zugangsmittel. Behandle ihn mindestens so sorgfältig wie ein Passwort. Wann ein Token erforderlich sein kann Ein Personal Access Token kann sinnvoll oder notwendig sein, wenn: die Browser-Anmeldung nicht funktioniert, du ohne grafische Oberfläche arbeitest, ein Unternehmensnetzwerk Browser-Weiterleitungen blockiert, ein spezieller Automatisierungszugang eingerichtet wird, du einen Git-Hoster verwendest, für den kein vollständiger Browser-Flow verfügbar ist. Für die alltägliche Arbeit auf einem persönlichen Windows-11-PC sollte die Browser-Anmeldung über GCM normalerweise bevorzugt werden. Unsichere Credential Helper vermeiden Git unterstützt mehrere Credential Helper. Nicht alle speichern Geheimnisse gleich sicher. Der unsichere store-Helper Dieser Befehl ist für normale Arbeitsumgebungen nicht geeignet: git config --global credential.helper store Der Helper store schreibt Zugangsdaten im Klartext in eine Datei, typischerweise nach: C:\Users\\.git-credentials Dort könnten Token im Klartext stehen. Jeder Prozess oder Benutzer mit ausreichendem Dateizugriff könnte sie potenziell auslesen. Wenn store versehentlich konfiguriert wurde, entferne die Einstellung: git config --global --unset-all credential.helper Aktiviere danach wieder den Windows Credential Manager: git config --global credential.helper manager Falls die Datei .git-credentials existiert und sensible Daten enthält, lösche sie erst, nachdem du geprüft hast, dass sie nicht mehr benötigt wird. Widerrufe anschließend den möglicherweise enthaltenen Token auf GitHub. Der cache-Helper Der Helper cache hält Zugangsdaten nur vorübergehend im Speicher. Er ist unter Linux häufiger anzutreffen, bietet unter Windows aber meist keinen Vorteil gegenüber dem Credential Manager. git config --global credential.helper cache Auch diese Einstellung solltest du für diesen Kurs nicht verwenden. Der empfohlene Wert bleibt: git config --global credential.helper manager Credential Manager über die Kommandozeile prüfen Zusätzlich zur Git-Konfiguration kannst du prüfen, ob der Credential Manager grundsätzlich erreichbar ist: git credential-manager --version Je nach Git-for-Windows-Version kann die Ausgabe beispielsweise eine Versionsnummer enthalten: 2.x.x Für eine Diagnose stellt GCM in aktuellen Versionen häufig folgenden Befehl bereit: git credential-manager diagnose Die Diagnose kann Systeminformationen und Konfigurationsdetails erfassen. Teile die Ausgabe nicht ungeprüft öffentlich, etwa in Issues oder Chat-Nachrichten: Sie kann technische Informationen über deine Umgebung enthalten. Gespeicherte GitHub-Anmeldung zurücksetzen Wenn Git wiederholt den falschen Account verwendet, ein Token abgelaufen ist oder eine Anmeldung fehlschlägt, ist ein kontrolliertes Zurücksetzen meist der sauberste Weg. Methode 1: Windows-Anmeldeinformationsverwaltung Öffne Anmeldeinformationsverwaltung über die Windows-Suche. Wähle Windows-Anmeldeinformationen. Suche nach Einträgen für GitHub oder nach Einträgen, die mit git: beginnen. Entferne den passenden Eintrag. Führe im Repository erneut git fetch oder git push aus. Melde dich im Browser mit dem korrekten GitHub-Konto an. Methode 2: Zugangsdaten gezielt ablehnen Du kannst Git auch anweisen, eine bestimmte HTTPS-Anmeldung zu verwerfen: printf "protocol=https\nhost=github.com\n\n" | git credential reject In Git Bash funktioniert printf direkt. Anschließend fordert Git beim nächsten geschützten Zugriff neue Zugangsdaten an. Wenn mehrere GitHub-Konten, Organisationsrichtlinien oder unterschiedliche Hosts beteiligt sind, ist die Windows-Anmeldeinformationsverwaltung oft leichter nachzuvollziehen. Mehrere GitHub-Konten verwenden Viele Entwicklerinnen und Entwickler nutzen beispielsweise ein privates GitHub-Konto und ein Organisationskonto. Der Credential Manager kann mehrere Anmeldungen verwalten, aber die Zuordnung muss klar bleiben. Für HTTPS ist wichtig: Git erkennt primär den Host, etwa github.com. Mehrere Konten auf demselben Host können zu unerwarteten Anmeldungen führen. Ein privater Account darf nicht versehentlich für ein Unternehmensrepository verwendet werden. Organisationen können zusätzliche Sicherheitsrichtlinien wie SSO verlangen. Prüfe vor einem Push immer die Zieladresse: git remote -v Wenn erforderlich, kannst du für ein Repository eine andere Remote-URL setzen: git remote set-url origin https://github.com//.git Bei regelmäßigem Arbeiten mit mehreren Konten ist SSH häufig übersichtlicher, weil unterschiedliche Schlüssel gezielt verschiedenen Konten zugeordnet werden können. Dieses Thema folgt später im Kurs. GitHub-Single-Sign-On beachten Organisationen auf GitHub können Single Sign-On über einen Identitätsanbieter verlangen. In diesem Fall reicht eine allgemeine GitHub-Anmeldung möglicherweise nicht aus. Typische Hinweise: Du kannst dich bei GitHub anmelden, aber ein Organisationsrepository nicht lesen oder pushen. GitHub meldet, dass eine SSO-Autorisierung erforderlich ist. Ein Token ist vorhanden, aber nicht für die Organisation freigegeben. Lösung: Öffne GitHub im Browser. Melde dich mit dem richtigen Konto an. Folge der SSO-Aufforderung deiner Organisation. Autorisiere gegebenenfalls den verwendeten Token für die Organisation. Führe git fetch oder git push erneut aus. Bei Unternehmenskonten gelten zusätzlich die Sicherheitsvorgaben deiner Organisation. Umgehungen durch private Tokens oder fremde Konten sind keine gute Lösung. Zusammenspiel mit PhpStorm PhpStorm kann Git auf zwei Ebenen nutzen: Git-Kommandozeile: PhpStorm ruft das installierte Git-Programm auf. HTTPS-Vorgänge können dabei den Git Credential Manager verwenden. GitHub-Integration: PhpStorm kann zusätzlich eine eigene GitHub-Anmeldung verwalten, etwa für Pull Requests, Issues oder Repository-Ansichten. Das bedeutet: Eine erfolgreiche GitHub-Anmeldung in PhpStorm garantiert nicht automatisch, dass Git Bash bereits Zugangsdaten besitzt. Eine funktionierende Anmeldung über GCM garantiert nicht automatisch, dass PhpStorm für GitHub-Funktionen angemeldet ist. Für fetch, pull und push über HTTPS ist der Credential Manager die zentrale sichere Grundlage. Prüfe in PhpStorm unter Datei → Einstellungen → Versionskontrolle → Git, ob der Pfad zu Git korrekt ist. Verwende dort die Schaltfläche Test, um die Git-Installation zu prüfen. Häufige Probleme und Lösungen Git fragt bei jeder Aktion erneut nach Zugangsdaten Prüfe zuerst den konfigurierten Helper: git config --show-origin --get-all credential.helper Falls manager fehlt, setze ihn erneut: git config --global credential.helper manager Prüfe außerdem, ob du tatsächlich HTTPS verwendest: git remote -v Bei einer SSH-URL wie dieser ist der Credential Manager nicht zuständig: git@github.com:beispielkonto/mein-projekt.git GitHub lehnt Benutzername und Passwort ab Verwende nicht dein normales GitHub-Passwort. Starte möglichst erneut den Browser-Flow, indem du die gespeicherten GitHub-Anmeldedaten im Windows-Anmeldeinformationsmanager entfernst. Falls ein Token verlangt wird, verwende einen gültigen Personal Access Token mit den notwendigen Berechtigungen. Der Browser öffnet sich nicht Mögliche Ursachen sind restriktive Unternehmensrichtlinien, blockierte Browser-Protokolle oder eine beschädigte GCM-Installation. Prüfe zunächst die Version: git credential-manager --version Führe anschließend eine Git-Operation direkt in Git Bash aus: git fetch origin Erscheint dort eine konkrete Fehlermeldung, notiere sie vollständig. Aktualisiere bei Bedarf Git for Windows über den offiziellen Installer und achte darauf, dass der Git Credential Manager mitinstalliert bleibt. Ein falsches GitHub-Konto wird verwendet Entferne die GitHub-bezogenen Einträge im Windows-Anmeldeinformationsmanager. Kontrolliere die Remote-URL mit git remote -v. Führe git fetch origin aus. Melde dich im Browser mit dem gewünschten Konto an. Push wird trotz erfolgreicher Anmeldung abgelehnt Eine erfolgreiche Anmeldung bestätigt nur deine Identität. Sie bedeutet nicht automatisch, dass du Schreibrechte besitzt. Prüfe: Ist die Remote-URL korrekt? Hast du Schreibrechte für das Repository? Pushst du auf einen geschützten Branch? Erfordert die Organisation SSO? Wurde der Branch auf GitHub inzwischen verändert? Bei fehlenden Rechten kann eine Meldung wie Permission denied oder Write access not granted erscheinen. Das ist kein Credential-Manager-Fehler, sondern ein Berechtigungs- oder Workflow-Thema. Sicherheitsregeln für Zugangsdaten Behalte diese Regeln als feste Routine bei: Speichere Tokens nie in Quellcodedateien. Committe niemals Dateien mit Zugangsdaten. Teile Tokens nicht in Chat-Nachrichten, Screenshots oder Tickets. Verwende den Credential Manager statt Klartextspeicherung. Lösche nicht mehr benötigte Tokens auf GitHub. Aktiviere Zwei-Faktor-Authentifizierung für dein GitHub-Konto. Widerrufe und ersetze einen Token sofort, wenn er versehentlich veröffentlicht wurde. Ein Token, der in einem Commit gelandet ist, gilt als kompromittiert — auch wenn der Commit später gelöscht wird. Die Wiederherstellung und Bereinigung solcher Fälle wird in einem späteren Kapitel ausführlich behandelt. Abschlussprüfung Führe diese Prüfungen aus: git --version git config --show-origin --get-all credential.helper git credential-manager --version Die Credential-Helper-Konfiguration sollte manager enthalten. Prüfe anschließend in einem Repository mit HTTPS-Remote: git remote -v git fetch origin Wenn der Zugriff ohne wiederholte Passwortabfrage gelingt und keine Zugangsdaten im Klartext gespeichert wurden, ist der Credential Manager korrekt eingerichtet. ✅