
선행: 저는 Windows에 대한 경험이 많지 않으며 기업 네트워크에 대한 경험도 거의 없습니다.
소프트웨어 개발 중에 버전 관리를 위해 git을 사용하려고 합니다. 제가 일하는 회사는 대부분 하드웨어 기반이므로 이러한 사용 사례가 자주 발생하지 않는 것 같습니다. 저는 Windows 7을 사용해야 하므로 Windows 버전의 git을 설치하고 "Git Bash를 통해 git을 사용할 수 있도록 설정"을 선택했습니다. 이는 Windows PATH에 git 바이너리를 추가하지 않고 에뮬레이트된 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을 사용할 수 있는 방법이 있나요?