在使用Windows 7期间,我们在网络驱动器上设置了一个裸的GIT仓库,以便多个用户可以从中pull/push。我能够在本地和其他多个网络驱动器上创建一个新的工作仓库。然而,当我尝试克隆同一网络驱动器上的另一个工作仓库(不同文件夹)时,克隆失败。
使用TortoiseGIT,在右键单击并选择“GIT Clone”后,输入所有必要的路径到我的裸仓库(新的工作仓库已经填好), 然后点击ok,我遇到以下错误:
Cloning into 'R:\path\to\new\repo'... done.
error: refs/remotes/origin/master does not point to a valid object!
error: Trying to write ref refs/heads/master with nonexistent object 5d2164db2c61efc7a5598f6ff75ed3fbbb12456e
fatal: Cannot update the ref 'HEAD'.
fatal: The remote end hung up unexpectedly git did not exit cleanly (exit code 128)
它无法创建仓库。但是它确实建立了新文件夹和“.git”子文件夹结构。
这不是r/w权限问题,因为我可以r/w任何其他文件,但似乎无法创建这个新克隆的仓库。我的同事也不能。即使我去网络驱动器上的另一个文件夹,我仍然无法成功克隆仓库。令人惊讶的是,如果我只是复制/粘贴我在另一个位置创建的仓库,然后手动执行“pull”,它就能正常工作并成功更新。
有什么建议可以尝试吗?显然,我已经搜索过“exit code 128”和“cannot update the ref 'HEAD'”,但找不到解决方案。可能我们正在忽略一些非常简单的东西,但我们刚刚开始使用GIT,并且这真的让我们头痛...
更新: 我刚刚注意到,当我从GIT手动拉取到我的“副本”时,它正在执行快速转发。也许这提供了一些额外的线索?
From R:/path/to/repo
* branch master -> FETCH_HEAD
Updating 5d2164d..d75bdb7
Fast-forward
Files.py | 3 +++
1 file changed, 3 insertions(+)
Success
git log 5d2164db2c61efc7a5598f6ff75ed3fbbb12456e
,看看是否失败。但如果你可以将其克隆到另一个目录,则可能是正确的。 - Chronial