WindowsのサブシステムとしてUbuntu 18.04を実行しています。私は複数のPCでこれを行いましたが、この問題は一度もありませんでした。 git clone <repo>
、そして私はこれを手に入れます:
Cloning into '<repo>'...
error: chmod on /mnt/c/Users/Efsta/Code/<repo>/.git/config.lock failed: Operation not permitted
fatal: could not set 'core.filemode' to 'false'
私は以下を試しました:
❯ git config core.fileMode false
、この結果fatal: not in a git directory
❯ git config --global core.filemode false
❯ git config --add --global core.filemode false
何も動作しないようです。私はすでにここでいくつかの答えを試しましたが、WSLは少しトリッキーなようです。誰でもこれを解決する方法について何か考えがありますか?
私もこの質問のすべてを試しました: https://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-file-mode-chmod-changes 、何も思われない仕事に。
/mnt/c/Users/...
はWindows NTFSパーティション自体にあり、WSLのext4
形式のシステム内にはありません。したがって、実際のUbuntuインストールのUSBスティック上のNTFSパーティションと同様に扱い、NTFSの制限を受け入れる必要があります。
NTFSパーティションchmod
または同様のLinuxアクセス許可コマンドはサポートしていません、およびエラーは発生しないがアクセス許可を変更しない実際のUbuntuインストールとは異なり、WSLはこれを中継しませんここに表示されるように、情報はエラーになります。
Linux許可スキーマとchmod
が正しく機能していないため、WSL内のgit clone
スペースに/mnt/c/...
をまともな方法で実行することはできません。これは、現在の形式のWSLの制限です。
同じ問題がありました。これを試して:
Sudo umount /mnt/c
Sudo mount -t drvfs C: /mnt/c -o metadata
ドライブ文字を、問題が発生しているものに変更します。
私は同じ問題を抱えていました。私の解決策は、私のリポジトリをデフォルトのWSLの場所にgit cloneして(動作する)、Visual Studio Codeを使用してWSLのリポジトリにリモートアクセスすることです。そうすれば、/ mnt/cをまったく使用する必要がなくなります。