windows - 使用网络驱动器作为 git 存储库

标签 windows git shared-directory

因此,我在网络驱动器上创建了一个 git 存储库:

git init --bare --shared

而且效果很好。然后,我使用

将它克隆到本地驱动器
git clone z:/testgit

这也很好用。然后我添加一个文件、阶段并提交

git stage *
git commit -m "test commit"

这也很好用。但!当我尝试推送到原点时,出现此错误。

git push origin
Counting objects: 3, done.
Writing objects: 100% (3/3), 225 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: unable to write sha1 filename ./objects/f3/e6e90a7465421306fae05c18153260973542e3: Permission denied
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To z:/testgit14
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'z:/testgit'

当尝试直接在服务器上(在非 --bare git 项目上)使用 git stage * 时,我遇到了类似的错误。

我可以在文件资源管理器中完全访问驱动器,甚至可以使用 git 初始化存储库。 SSH 甚至不应该在这里应用,因为它不是服务器,而是网络驱动器。我读到的关于 git 的所有内容都说这应该有效。我已经阅读了数十篇“操作方法”,它们都说了这些确切的步骤,但没有人提示权限被拒绝,除非他们在谈论服务器上丢失的 SSH 公钥(正如我所说,这不应该适用).

我缺少什么权限?我应该在哪里寻找并设置适当的权限?

最佳答案

当您尝试创建 git 提示的文件时会发生什么?

echo test > ./objects/f3/e6e90a7465421306fae05c18153260973542e3

git 可能正在创建一个新文件夹 (f3) 而该文件夹未获得正确的权限,这可能是由于 ACL 继承配置错误或本地计算机正在尝试调整新创建的文件夹的权限,但弄错了。

如果是 Linux,可能是因为网络驱动器连接了错误的挂载选项,或者 umask 设置不正确,但我不确定这些是否可以在 Windows 机器上更改。

关于windows - 使用网络驱动器作为 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40253242/

相关文章:

windows - 如何从 Windows 命令行创建共享文件夹?

java - 获取远程服务器上的所有共享目录

c# - 通过 "Show Desktop"/Win+D 保持窗口可见

git - 从 pull 请求导出相关工作项

python - Windows 无法正确读取 .py 文件

Git - 如何处理符号链接(symbolic link)

git - checkout 并不允许更改 git 中的文件

Vagrant 无法挂载共享文件夹 - 没有这样的文件或目录

c++ - 如何检查用户是否是 Windows 7 中的管理员?

c++ - Windows中打开文件的数量是否有限制