Standard-Branch und Standard-Editor festlegen Ziel: konsistente Vorgaben für neue Repositories und Git-Texte Zwei globale Einstellungen erleichtern die tägliche Arbeit erheblich: Standard-Branch: Git verwendet bei neu initialisierten Repositories automatisch einen gewünschten Branch-Namen, meist main. Standard-Editor: Git öffnet bei Commit-Nachrichten, Merge-Nachrichten oder interaktiven Rebase-Vorgängen einen Editor, den du zuverlässig bedienen kannst. Diese Einstellungen gelten zunächst für deinen Windows-Benutzeraccount und werden in der globalen Git-Konfiguration gespeichert. Wichtig: Die Wahl von main ist heute weit verbreitet, aber keine technische Pflicht. Übernimm im Team immer die vereinbarte Branch-Konvention. Den Standard-Branch festlegen Historisch verwendete Git für den ersten Branch häufig master. Moderne Git-Versionen und viele Hosting-Plattformen verwenden standardmäßig main. Mit init.defaultBranch legst du fest, welchen Namen zukünftige lokale Repositories nach git init erhalten. Öffne Git Bash, PowerShell oder das Terminal in PhpStorm und führe aus: git config --global init.defaultBranch main Prüfe anschließend den gespeicherten Wert: git config --global --get init.defaultBranch Die Ausgabe sollte lauten: main Wirkung beim nächsten git init Lege testweise ein neues Verzeichnis an und initialisiere es: mkdir git-branch-test cd git-branch-test git init Git bestätigt je nach Version beispielsweise: Initialized empty Git repository in C:/Users/dein-name/git-branch-test/.git/ Solange noch kein Commit existiert, zeigt git branch unter Umständen keinen lokalen Branch an. Nach dem ersten Commit prüfst du den Namen mit: git branch --show-current Erwartete Ausgabe: main Was diese Einstellung nicht verändert init.defaultBranch benennt keine bestehenden Branches um. Sie beeinflusst außerdem weder bereits geklonte Repositories noch die Standard-Branches auf GitHub. Für ein vorhandenes lokales Repository kannst du den aktuellen Branch bei Bedarf umbenennen: git branch -m master main Wenn der Branch bereits auf GitHub veröffentlicht wurde, müssen auch Remote-Branch, Standard-Branch-Einstellung auf GitHub und gegebenenfalls Pull Requests berücksichtigt werden. Das ist eine Teamentscheidung und sollte nicht spontan in einem gemeinsam genutzten Repository erfolgen. Den Standard-Editor verstehen Git benötigt einen Editor, sobald Text eingegeben oder bestätigt werden muss, etwa für: Commit-Nachrichten ohne -m, Merge-Commit-Nachrichten, git revert, annotierte Tags, interaktive Rebase-Pläne, Konfliktlösungen mit fortgesetztem Rebase. Ohne eigene Konfiguration verwendet Git for Windows oft Vim. Vim ist leistungsfähig, aber für Einsteiger ungewohnt: Ein versehentlich geöffneter Editor kann dann wie ein „hängender“ Git-Befehl wirken. Der zentrale Konfigurationswert lautet: core.editor Einen geeigneten Editor auswählen Option 1: Windows-Editor für einen einfachen Einstieg Für einen unkomplizierten Start kannst du den vorinstallierten Editor Notepad festlegen: git config --global core.editor notepad.exe Diese Wahl ist besonders geeignet, wenn du Git zunächst in der Kommandozeile lernst und nur Commit-Nachrichten bearbeiten möchtest. Vorteile Auf jedem Windows-11-System verfügbar Keine zusätzliche Installation Einfach zu bedienen Grenzen Keine Syntaxhervorhebung Nicht ideal für umfangreiche Rebase-Pläne oder längere Texte Option 2: Visual Studio Code als Git-Editor Wenn Visual Studio Code installiert ist und der Befehl code in der PATH-Variable verfügbar ist, ist dies eine sehr gute allgemeine Wahl: git config --global core.editor "code --wait" Die Option --wait ist entscheidend: Git wartet dadurch, bis das geöffnete Dokument geschlossen wurde. Ohne diese Option würde Git den nächsten Schritt möglicherweise ausführen, bevor du die Nachricht gespeichert hast. Prüfe zuerst, ob Visual Studio Code aus dem Terminal erreichbar ist: code --version Wenn eine Versionsnummer erscheint, ist der Befehl verfügbar. Hinweis: Ist code nicht bekannt, installiere Visual Studio Code erneut und aktiviere dabei die Option, den Befehl zur PATH-Variable hinzuzufügen. Danach muss das Terminal neu gestartet werden. Option 3: PhpStorm im normalen Git-Workflow verwenden Für Commits über die PhpStorm-Oberfläche ist core.editor meist nicht relevant: PhpStorm zeigt eigene Dialoge für Commit-Nachrichten, Merge-Vorgänge und interaktive Rebase-Aktionen an. Das bedeutet: Git-Befehle im Terminal verwenden den unter core.editor festgelegten Editor. Git-Aktionen in PhpStorm verwenden normalerweise die integrierten PhpStorm-Werkzeuge. Für die meisten PHP-Projekte ist daher eine praktische Kombination: PhpStorm für tägliche Commits, Diffs, Merges und Reviews, ein einfacher Terminal-Editor wie Notepad oder Visual Studio Code als Rückfalloption für reine CLI-Befehle. PhpStorm selbst als globalen Git-Texteditor einzurichten, ist möglich, aber nur sinnvoll, wenn ein funktionierender Kommandozeilen-Starter mit Warteoption eingerichtet wurde. Für den Einstieg erhöht das unnötig die Komplexität. Die aktuelle Editor-Konfiguration prüfen Mit folgendem Befehl liest du den effektiven globalen Wert aus: git config --global --get core.editor Beispielausgabe für Notepad: notepad.exe Oder für Visual Studio Code: code --wait Um zusätzlich zu sehen, aus welcher Konfigurationsdatei ein Wert stammt, verwende: git config --show-origin --get core.editor Eine typische Ausgabe unter Windows lautet: file:C:/Users/dein-name/.gitconfig code --wait Die globale Konfiguration liegt üblicherweise in: C:\Users\dein-name\.gitconfig Du solltest diese Datei normalerweise nicht manuell bearbeiten. git config setzt Werte korrekt und vermeidet Syntaxfehler. Die Editor-Konfiguration praktisch testen Lege ein kleines Test-Repository an oder verwende ein Übungsrepository. Erstelle eine Datei und füge sie zum Index hinzu: echo Test > editor-test.txt git add editor-test.txt Starte dann einen Commit ohne die Option -m: git commit Git öffnet nun den konfigurierten Editor mit einer Vorlage für die Commit-Nachricht. Schreibe beispielsweise: test: Editor-Konfiguration prüfen Speichere die Datei und schließe den Editor. Anschließend sollte Git den Commit abschließen. Prüfe die Historie: git log --oneline -1 Beispiel: a1b2c3d test: Editor-Konfiguration prüfen Falls Git scheinbar wartet Wenn ein Git-Befehl nicht weiterläuft, ist meist ein Editor geöffnet und wartet auf Eingabe. Das ist kein Fehler. Notepad: Nachricht speichern und Fenster schließen. Visual Studio Code: Datei speichern und den Editor-Tab oder das Fenster schließen. Vim: Mit Esc, dann :wq und Enter speichern und beenden. Mit Esc, dann :q! und Enter ohne Speichern abbrechen. Konfigurationshierarchie beachten Git liest Einstellungen aus mehreren Ebenen. Ein lokaler Repository-Wert kann deine globale Einstellung überschreiben. Ebene Gültigkeit Beispiel System Alle Benutzer des Computers Git-for-Windows-Installation Global Dein Windows-Benutzerkonto C:\Users\dein-name\.gitconfig Lokal Ein bestimmtes Repository .git\config Worktree Ein einzelner Arbeitsbaum Spezielle Mehr-Worktree-Konfiguration Zeige alle gesetzten Werte inklusive Herkunft an: git config --list --show-origin Ist in einem bestimmten Repository ein anderer Editor gesetzt, prüfst du ihn mit: git config --local --get core.editor Einen lokalen Wert entfernst du bei Bedarf so: git config --local --unset core.editor Danach greift wieder die globale Einstellung. Umgebungsvariablen können den Editor übersteuern In seltenen Fällen wird core.editor ignoriert, weil eine Umgebungsvariable einen anderen Editor vorgibt. Die wichtigsten Variablen sind: GIT_EDITOR core.editor VISUAL EDITOR Die weiter oben stehende Einstellung hat Vorrang. Prüfe in Git Bash beispielsweise: echo $GIT_EDITOR echo $VISUAL echo $EDITOR In PowerShell lautet die Abfrage: $env:GIT_EDITOR $env:VISUAL $env:EDITOR Ist GIT_EDITOR gesetzt, hat diese Variable Vorrang vor core.editor. Für eine dauerhaft nachvollziehbare Konfiguration ist git config --global core.editor ... in den meisten Fällen die bessere Wahl. Empfohlene Grundkonfiguration für diesen Kurs Für eine moderne, einheitliche Ausgangslage: git config --global init.defaultBranch main git config --global core.editor notepad.exe Wenn du Visual Studio Code verwendest, ersetze die zweite Zeile durch: git config --global core.editor "code --wait" Kontrolliere beide Werte anschließend: git config --global --get init.defaultBranch git config --global --get core.editor Damit ist Git auf Windows 11 so vorbereitet, dass neue lokale Repositories mit main beginnen und textbasierte Git-Aktionen in einem beherrschbaren Editor geöffnet werden.