Git 无法将存储库克隆到 CIFS 挂载目录中

ely*_*aie 5 linux mount git cifs

尝试将远程 Git 存储库克隆到 Linux 上的 CIFS 挂载目录。

错误是:

$ git clone ssh://git@github.com/ghuser/ghuser.git dir
Cloning into 'dir'...
fatal: Unable to create temporary file '/home/user/dir/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)

一些可能相关的信息:

$ uname -a
Linux myfarms-dev 3.12.0-1-ARCH #1 SMP PREEMPT Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux

$ cat /etc/fstab
...
//192.168.56.1/Code /home/user/dir cifs users,exec,noauto,credentials=/home/user/.smbcredentials,uid=user,gid=http,file_mode=0775,dir_mode=0775 0 0

$ umask
0002
Run Code Online (Sandbox Code Playgroud)

这个完全相同的过程适用于我们的大多数开发人员(即在 Linux 中安装 Windows 共享并将存储库克隆到其中),但不适用于这个开发人员。有任何想法吗?

编辑:到目前为止我采取的步骤:更新包,重新安装文件共享,检查 Windows 端目录的权限(对用户的完全访问权限)。该错误最初发生在现有存储库中的 git fetch 期间。尽管有 umask,Git(或其他东西)似乎在没有 u+w 权限的情况下创建 tmp_pack 文件。我删除了整个本地存储库并重新开始,导致在克隆时出现上述错误。

小智 3

经过一些测试和搜索后,我发现有两个选择:

  1. 将内核降级到版本3.11.6
  2. 使用 sudo 启动 git 命令。(https://superuser.com/a/121854/275562