Unsere Organisation ordnet Home-Ordner für jeden Benutzer über Active Directory einer Netzwerkfreigabe zu. Dies verursacht Probleme mit Git, da Git erwartet, die globale Benutzerkonfigurationsdatei im Home-Ordner des Benutzers zu finden, der für mich aufgrund dieser Einstellung ein zugeordnetes Laufwerk ist. git config --global --list
wirft fatal: unable to read config file 'H://.gitconfig': No such file or directory
.
Bei der Fehlerbehebung habe ich festgestellt, dass die automatische Variable $HOME
in PowerShell C:\Users\username
nicht $Env:HOME
auf das zugeordnete Laufwerk eingestellt ist.
$Env:HOME
Warum ist die automatische Variable von PowerShell anders? Ich gehe davon aus, dass Active Directory die Variable auf das zugeordnete Laufwerk einstellt . Ist das richtig? Wenn ja, sollte dann nicht $HOME
derselbe Pfad verwendet werden?
Antwort1
Kurz zusammengefasst; $HOME
wird wegen der plattformübergreifenden Kompatibilität bevorzugt
Laut dem SO-BeitragHome-Verzeichnis abrufen:
Der stabilste Weg, auf das Home-Verzeichnis des aktuellen Benutzers zu verweisen, ist die Verwendungautomatische Variable
$HOME
.Wenn Sie versucht haben, mit demUmgebungsvariable
$env:HOME
, Plattformunterschiede würden zwischen Windows und Unix auftreten