Windows git «плохой дескриптор файла» во время коммита на OES Network Share

483
Ps0ke

Предварительно: у меня нет большого опыта работы с Windows и вряд ли с корпоративными сетями.

Я пытаюсь использовать git для контроля версий во время разработки моего программного обеспечения. Компания, в которой я работаю, в основном основана на аппаратных средствах, поэтому у них, похоже, не часто встречается этот вариант использования. Мне действительно нужно использовать Windows 7, поэтому я установил версию git для Windows и выбрал «Сделать git доступным через Git Bash», который не добавляет двоичные файлы git в PATH Windows, а скорее имеет эмулированную среду UNIX (я полагаю, cygwin ) и оболочка. Это то, что я хотел использовать.

Компания также использует OES ​​(Open Enterprise Server) от Novell для управления учетными записями пользователей. Это означает, что у нас есть общие входы в Windows, но после входа в Windows необходимо снова войти на сервер OES. Это монтирует пару сетевых ресурсов, в том числе наше личное хранилище, прокси-серверы и т. Д.

Так как я должен сохранить свой код на сетевом диске, я также хочу сохранить там мерзавец. Управление git на локальном компьютере и копирование кода на сетевой диск не вариант, так как мне иногда приходится переключать компьютеры и, как правило, это неудобно и подвержено ошибкам. Если я забуду это, оно не будет сохранено.

Добавление файлов для размещения в git работает нормально, но когда я пытаюсь зафиксировать, я получаю сообщение об ошибке

fatal: cannot update the ref 'HEAD': unable to append to '.git/logs/HEAD': Bad file descriptor 

что, я думаю, связано с тем, как Git Bash отображает пути и как сетевые ресурсы отображаются в этом процессе.

Коллега утверждает, что он успешно зафиксировал общий ресурс в сети, но он использует Windows 10. Я не уверен, использует ли git новую нативную эмуляцию Bash.

Есть ли способ использовать git в этом сценарии?

0
С каким пользователем вы запускаете git bash? Пользователь, с которым вы входите в систему или пользователь novell? Это может быть проблема с разрешением. Seth 6 лет назад 0
Это звучит правдоподобно. whoami возвращает пользователя Windows. Как я могу войти в git bash с пользователем Novell? Ps0ke 6 лет назад 0
Вы, вероятно, не можете изнутри мерзавца. Вам нужно будет запустить git bash от имени этого пользователя. В Windows по умолчанию есть функция «Запуск от имени», но я не уверен, работает ли она с Novell или нет. Немного необычно, что вы не просто использовали бы его вместо рекламы. Интересно, что другое программное обеспечение работает нормально. Плохой дескриптор файла может также означать, что по какой-то причине дескриптор был отброшен. Seth 6 лет назад 0

0 ответов на вопрос