Inbetriebnahme

Es sollten unbedingt gleich zwei user Konfigurationen für die global Umgebung (Scope) erstellt werden. Global heißt hier, das diese Benutzerdaten/Konfigurationen für diesen Benutzer und alle seine Git-Projekte gelten!

Ordner/Dateipfad: ~/.gitconfig (also Home-Dir des Users)

$ git config --global user.name "Max Mustermann"
$ git config --global user.email "max.mustermann@example.com"

# Standardzweig für neue Git Repos auf main (statt master)
$ git config --global init.defaultBranch main

Beachten: keinerlei Gleichheitszeichen! Danach bitte unbedingt die Daten wieder in der Gesamtkonfiguration checken.

Hinweis

Es lassen sich noch viele weitere Konfigurationen festlegen. Am einfachsten bitte später die git config-Hilfen (z.B. git help config) beachten oder einfach die Vervollständigung von Befehlen mit Tab nutzen.

Mit git help -c bzw. git help --config lassen sich alle verfügbaren Konfigurationsparameter auflisten.

Oder aber online unter Git config - Variables inklusive Erläuterungen.

Für die Anzeige einer aktuellen, einzelnen Konfiguration nutzt man

$ git config user.name
$ git config --show-origin user.email

Der Schalter --show-origin zeigt die Quellen für die jeweilige Konfiguration mit an.

Eine einfache Übersicht aller Konfigurationen erhält man mit git help -c.

Für viele weitere Einstellungen siehe Erste Schritte - Git Basis-Konfiguration aus dem Pro Git Online Buch.

Klassische Grundeinstellung für gemischte (Linux/Mac vs. Windows OS) Umgebungen:

In lokaler Git Config: git config --global core.autocrlf true und in Repository in Datei .gitattributes die Zeile * text=auto einfügen.

Anmerkung / Empfehlung: in aktuellen hetereogen Umgebungen mit professionellen Tools zum Editieren und zur Git-Nutzung keine Probleme mehr auffällig. Und am Besten nutzt man als Entwickler unter Windows einfach die WSL2!

Siehe Sujeevan Vijayakumaran - Vortrag GPN19 (Zeit: 33:30)

Weitere Beispiele für Konfigurationen folgen.

Extra / Grep Spielerei!

Bei Recherchen zu Git Configs bin ich über die folgende sehr spezielle Möglichkeit gestolpert sich die möglichen Konfigurationsparameter auflisten und erklären zu lassen.

Stackoverflow Thread to git config: list all variables

  • Git Master Branch curlen und Ordner Documentation entpacken

    curl -L https://api.github.com/repos/git/git/tarball/master | tar -xvzf- --wildcards "*/Documentation/*"

  • Wir erhalten eine Compact Version with Grep Magic:

    grep --recursive                   \
       --binary-files=without-match    \
       --no-filename                   \
       --only-matching                 \
       --perl-regexp                   \
       --null-data                     \
       --regexp='(?ms)(?:^[a-zA-Z0-9]{2,}\.[<>()*.a-zA-Z -]+::\v+)+?(?:(?:\v|\h+\V+\v))+(?:\v|\Z)'
    
  • Eine noch detailliertere Version mit:

    ...
       --regexp='(?ms)(?:^[a-zA-Z0-9]{2,}\.[<>()*.a-zA-Z -]+::\v+)+?(?:\v|\h+\V+\v)+(?:\+\v+(?:--\v+.+?--|[^+]\V+(?!::\v))+)*(?:\v|\Z)'
    

Solche Spielereien wie immer und elbstverständlich ohne Gewähr ;-) [Status: zuletzt getestet Sep/2023].