Skip to main content

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:

  1. GIT_EDITOR
  2. core.editor
  3. VISUAL
  4. 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.