usb-ios의 gvsf(GNOME 가상 파일 시스템), git clone을 실행하면 다음과 같은 메시지가 표시됩니다: fatal: Could not set 'core.filemode' to 'false' , 인해 OS 서비스 이름 바꾸기

usb-ios의 gvsf(GNOME 가상 파일 시스템), git clone을 실행하면 다음과 같은 메시지가 표시됩니다: fatal: Could not set 'core.filemode' to 'false' , 인해 OS 서비스 이름 바꾸기

USB를 통해 iOS 장치를 Linux 노트북에 연결했습니다. Linux 시스템에는 이를 가리키는 gvfs가 마운트되어 있고( /run/user/1000/gvfs/afc:host=xxxxxxxxxx,port=3) 거기에서 디렉토리를 변경하고 rsync앞뒤로 전환할 수 있지만 내 노트북( /home/user/repo.git)에 있는 git 저장소를 복제하고 싶습니다.

git clone /home/user/repo.git

안개가 낀 것처럼 보입니다.

Cloning into 'repo'...
error: chmod on /run/user/1000/gvfs/afc:host=xxxxxxxxx,port=3/com.lhy.iMarkdown/repo/.git/config.lock failed: Operation not supported
fatal: could not set 'core.filemode' to 'false'

그리고, sudo git clone /home/user/repo.git주어질 것이다 fatal: could not create work tree dir 'repo': Permission denied.


@torek님의 설명(https://stackoverflow.com/users/1256452/torek)의 git clone 답변은 동일한 상황이지만 삼바 마운트 지점에 대한 답변입니다.https://stackoverflow.com/a/50242563

git clone이 운영 체제 서비스에 대한 호출을 사용하여 파일 이름을 바꾸면 프로세스가 세 번째이자 마지막 단계에서 실패했다는 메시지가 나타납니다.


이 경우 GVfs는 저장소(https://askubuntu.com/a/1035122). 이것이 sudoing이 작동하지 않는 이유입니다. GVfs는 마운트 지점을 마운트한 사용자만 사용할 수 있도록 하기 때문입니다.


iOS 장치를 Linux 노트북에 연결하고 git을 사용하여 네트워크의 로컬 장치/저장소에 연결하는 것이 매우 편리할 것입니다. 누구든지 작동시키는 방법을 알고 있습니까? /etc/fstab전체 상호 작용이 내가 연결하고 사용하는 다른 저장 지점처럼 자연스럽게 느껴지도록 구성을 유지하는 것이 가장 좋습니다 . git 저장소의 내용을 앞뒤로 재동기화하고 git을 다시 생성하는 것은 의미가 없습니다. 사람들은 제한된 환경/상자/장치/저장소에서 git을 사용하여 이러한 문제를 해결했을 수 있습니다.

답변1

Unix에서 Git은 chmod저장소를 복제하거나 초기화할 때와 마찬가지로 구성 파일을 설정할 때 파일 권한이 올바르게 설정될 것으로 예상합니다. 이 경우 사용하려는 파일 시스템이 이를 지원하지 않으므로 실패합니다.

나쁜 소식은 Git이 chmodUnix의 선택적 시스템 호출로 간주하지 않기 때문에 Unix의 어떤 버전의 Git도 이 파일 시스템의 저장소를 성공적으로 초기화하거나 복제할 수 없다는 것입니다. 일반 Unix 파일 시스템에서 저장소를 복제한 다음 복사하여 작동 방식을 확인할 수 있습니다. Windows 드라이브를 사용할 때 Linux용 Windows 하위 시스템에서 일부 경우에 이 문제가 발생하므로 결국에는 작동할 수 있습니다. 이 경우 iOS 및 GVFS가 노출하는 기능에 따라 그렇지 않을 수도 있으며, 그렇지 않은 경우 다른 접근 방식을 시도해야 합니다.

관련 정보