
前置き: 私は Windows の経験があまりなく、企業ネットワークの経験もほとんどありません。
ソフトウェアの開発中に、バージョン管理に git を使用しようとしています。私が勤務する会社はほとんどがハードウェア ベースなので、このユースケースはあまりないようです。Windows 7 を使用する必要があるため、Windows バージョンの git をインストールし、「Git Bash を通じて git を使用できるようにする」を選択しました。これにより、git バイナリが Windows PATH に追加されるのではなく、エミュレートされた UNIX 環境 (cygwin だと思います) とシェルが提供されます。これが私が使いたかったものです。
会社では、ユーザー アカウントの管理に Novell の OES (Open Enterprise Server) も使用しています。つまり、一般的な Windows ログインはありますが、Windows ログイン後に OES サーバーに再度ログインする必要があります。これにより、個人用ストレージやプロキシ サーバーなどを含むいくつかのネットワーク共有がマウントされます。
コードをネットワーク ドライブに保存する必要があるため、git もそこに保存しておきたいと考えています。ローカル マシンで 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 を使用する方法はありますか?