Konfiguration¶
Wir analysieren erst einmal unsere Git-Version:
$ 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 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 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.