Предварительно: у меня нет большого опыта работы с 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