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
mainist 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
codenicht 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.editorfestgelegten 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:wqundEnterspeichern und beenden. MitEsc, dann:q!undEnterohne 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_EDITORcore.editorVISUALEDITOR
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.