Nuestra organización asigna carpetas de inicio a un recurso compartido de red a través de Active Directory para cada usuario. Esto causa problemas con Git porque Git espera encontrar el archivo de configuración global del usuario en la carpeta de inicio del usuario, que para mí es una unidad asignada debido a esta configuración. git config --global --list
lanza fatal: unable to read config file 'H://.gitconfig': No such file or directory
.
Mientras solucionaba el problema, descubrí que la variable automática $HOME
en PowerShell está configurada en la unidad asignada C:\Users\username
, pero $Env:HOME
está configurada en ella.
¿Por qué la variable automática de PowerShell es diferente? Supongo que Active Directory está configurando la $Env:HOME
variable en la unidad asignada; ¿Es eso correcto? Si es así, ¿no debería $HOME
utilizar el mismo camino?
Respuesta1
TLDR; $HOME
se prefiere para la compatibilidad multiplataforma
Según la publicación SOobteniendo el directorio de inicio:
La forma más sólida de hacer referencia al directorio de inicio del usuario actual es utilizarvariable automática
$HOME
.Si intentaste usar elVariable ambiental
$env:HOME
, las diferencias de plataforma surgirían en Windows vs Unix