Git для Windows "Git Bash Here" по пути UNC

Я отвечаю за настройку общих рабочих столов Windows на Server 2016 для замены общих рабочих столов Server 2008R2. На них установлен Git для Windows (v2.21.0 на сервере 2016 года и v2.9.0 на сервере 2008R2.)

На заменяемых серверах 2008R2 пользователь может щелкнуть правой кнопкой мыши папку UNC, отображаемую в проводнике Windows, и выбрать "Git Bash Here", после чего появится окно с названием "/usr/bin/bash --login -i". Этот заголовок быстро заменяется на "MINGW64:// сервер / общий ресурс / путь". Текстовая строка внутри окна: имя пользователя @ сервер MINGW64 // домен / сервер / общий ресурс / путь, и у пользователя есть командная строка "$"

На новом сервере 2016 года, выполнив ту же операцию, вместо этого откроется окно с именем "C:\Windows\system32.cmd.exe", которое быстро заменяется заголовком "MINGW64:/c/Windows" и с ошибкой:

'\\domain\server\share\path'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.

Пользователь также получает командную строку "$"

На новом и старом серверах синтаксис с этого момента работает одинаково, включая команды cd для путей UNC, таких как "cd // server / share" или "cd \\\server\\share"

Я сравнил следующие ключи и подразделы реестра и их значения между серверами и не обнаружил никаких расхождений, которые могли бы объяснить это:

HKLM\SOFTWARE\Classes\Directory\shell\cmd\command
HKLM\SOFTWARE\Classes\Directory\shell\git_shell\command
HKLM\SOFTWARE\Classes\Directory\Background\shell\cmd\command
HKLM\SOFTWARE\Classes\Directory\Background\shell\git_shell\command
HKLM\SOFTWARE\GitForWindows

Что касается файлов и папок, после просмотра я протестировал переименование "c:\program files\git" (v2.21.0) на новом сервере, а затем скопировал всю папку git с рабочего сервера (v2.9.0) и нашел этот "git bash here " работал на новом сервере корректно. Так что это должен быть один из файлов конфигурации в этом дереве каталогов. Я сравнил, а в случаях дикого несоответствия заменил (в качестве тестов) следующее индивидуально. Большинство были идентичны:

c:\program files\git\etc\profile.d\*.*
c:\program files\git\etc\bash.bashrc
c:\program files\git\etc\profile
c:\program files\git\mingw64\gitconfig
c:\program files\git\mingw64\gitattributes
c:\program files\git\usr\etc\*.* (folder only appears on new servers and only contains gawk* files, under profile.d)

Здесь есть сотни файлов с достаточным количеством расхождений между версиями v2.9 и v2.21, которые при сравнении временных отметок и размеров находят слишком много различий, чтобы сузить этот путь.

Я в основном администратор сервера Windows, не обладающий специальными знаниями или даже настоящими знаниями конечных пользователей о git для windows, bash в Windows или mingw64. так что я не знаю, нужно ли bash, git, mingw64 перенастроить или как именно перенастроить, чтобы это работало.

0 ответов

Другие вопросы по тегам