首先,我的机器上有一个位于 DropBox 之外的存储库。接下来,我将存储库(裸)克隆到 DropBox 内的一个文件夹中,该文件夹由 BoxCryptor 加密。
根据以下命令,两者似乎都可以访问并被正确视为 git 存储库:
PS D:\MyProject> git remote -v
origin X:\Dropbox (Personal)\MyProject.git\" (fetch)
origin X:\Dropbox (Personal)\MyProject.git\" (push)
PS D:\MyProject> cd 'X:\Dropbox (Personal)\MyProject.git'
PS X:\Dropbox (Personal)\MyProject.git> git remote -v
origin D:\MyProject\ (fetch)
origin D:\MyProject\ (push)
但是,我无法从 DropBox 外部的文件夹推送到 DropBox 内部的文件夹:
PS D:\MyProject> git push origin master
fatal: 'Dropbox (Personal)\MyProject.git"' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
现在我知道这不是权限问题 - 我拥有该文件夹的写入权限。当然,它is一个存储库,因为我可以运行git log
在文件夹内并查看日志。
我怀疑这可能与 BoxCryptor 发生的有趣的事情有关。或者是因为原始网址末尾有奇怪的额外双引号(在这种情况下,我该如何摆脱它?)?
我已经解决了这个问题 - git 处理路径的方式似乎有问题,无缘无故地附加双引号。
首先,我尝试编辑.git\config
直接删除双引号:
[remote "origin"]
url = X:\\Dropbox (Personal)\\MyProject.git\
fetch = +refs/heads/*:refs/remotes/origin/*
然而 git 对 url 感到困惑:
fatal: 'X:\\Dropbox (Personal)\\MyProject.git fetch = +refs/heads/*:refs/remotes/origin/*' does not appear to be a git repository
接下来,我尝试在行的开头添加双引号.git\config
。但这也不起作用。
我可以通过创建一个没有空格的符号链接来解决这个问题。
最后我想通了 - git 不希望 url 末尾有斜线!删除双引号和斜杠可以解决问题:
[remote "origin"]
url = X:\\Dropbox (Personal)\\MyProject.git
fetch = +refs/heads/*:refs/remotes/origin/*
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)