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].