Konfiguration

Wir analysieren erst einmal unsere Git-Version:

Git Version ermitteln
$ git --version
git version 2.22.0.windows.1

Hier wurde der Parameter --version benutzt - es sollte auch der Subbefehl version funktionieren: git version.

Wir lassen uns als Nächstes die Konfigurationsumgebung für Git auflisten:

Git Konfiguration (kurze Version - ohne Quellen)
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
...
rebase.autosquash=true
http.sslcainfo=C:/Users/joeb/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
...
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
...

Und da sich die ergebende Konfiguration aus einer Kombination verschiedender Konfigurationsorte zusammensetzen kann, lassen wir uns diese Konfigurationen mit auflisten.

Git Konfiguration (lange Version - mit Quellen)
$ git config --list --show-origin
file:"C:\\ProgramData/Git/config"       core.symlinks=false
file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:"C:\\ProgramData/Git/config"       core.fscache=true
...
file:"C:\\ProgramData/Git/config"       rebase.autosquash=true
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     http.sslcainfo=C:/Users/joeb/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     http.sslbackend=openssl
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     diff.astextplain.textconv=astextplain
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     filter.lfs.clean=git-lfs clean -- %f
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     filter.lfs.process=git-lfs filter-process
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     filter.lfs.required=true
file:C:/Users/joeb/AppData/Local/Programs/Git/mingw64/etc/gitconfig     credential.helper=manager
...
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=false
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.symlinks=false
file:.git/config        core.ignorecase=true
...

Erkenntnis: es gibt also - wie eigentlich immer - mehrere Konfigurationsdateien, die dann letztlich die aktuelle Gesamtkonfiguration ergeben.

Hinweis

Manche Einträge - siehe core.symlinks - mehrfach! Dann setzt sich die letzte bzw. projektnächste Konfiguration durch.

Erläuterungen hierzu kann man auf der Dokumentationsplattform auf git-scm-Portal im Abschnitt FILES nachlesen und vertiefen.

Allgemeine Übersicht zu Konfigurationsquellen:

  • Systemweit

  • Benutzer

  • Repo

  • Worktree (wenn präsent/genutzt)

Und die Pfade sind natürlich nach Betriebssystem abweichend und insbesondere bei Windows sollte die Nutzung der / besonders beachtet werden.