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の答えは同じ状況ですが、Sambaマウントポイントへの答えです。https://stackoverflow.com/a/50242563
git cloneがオペレーティングシステムサービスへの呼び出しを使用してファイル名を変更すると、プロセスが3番目で最後のステップで失敗したというメッセージが表示されます。
この場合、GVfsはリポジトリ(https://askubuntu.com/a/1035122)。これがsudoingが機能しない理由です。 GVfsは、マウントポイントをマウントしたユーザーのみが使用できるようにするためです。
iOSデバイスをLinuxノートブックに接続し、gitを使用してネットワーク上のローカルデバイス/ストレージに接続することは非常に便利です。誰もが動作する方法を知っていますか?/etc/fstab
完全な相互作用が私が接続して使用している他のストレージポイントのように自然に感じるように設定を維持するのが最善です。 gitリポジトリの内容を前後に再同期し、gitを再生成することは意味がありません。人々は限られた環境/ボックス/デバイス/ストレージでgitを使用してこれらの問題を解決したかもしれません。
答え1
Unixでは、Gitはchmod
リポジトリを複製または初期化するときと同様に、設定ファイルを設定するときにファイル権限が正しく設定されることを期待しています。この場合、使用したいファイルシステムはそれをサポートしていないため失敗します。
悪いニュースは、Gitがchmod
Unixのオプションのシステムコールとは見なされないため、UnixのどのバージョンのGitもこのファイルシステムのリポジトリを正常に初期化または複製できないことです。通常のUnixファイルシステムでリポジトリを複製してコピーすることで、その動作を確認できます。 Windowsドライブを使用すると、Linux用のWindowsサブシステムでは、この問題が発生するため、最終的には機能する可能性があります。この場合、iOSとGVFSが公開している機能によってはそうでない可能性があり、そうでない場合は別のアプローチを試してください。