8

使用 Windows 7,我们在网络驱动器上设置了一个裸 GIT 存储库,以便多个用户可以从中拉/推。我能够在我的本地和多个其他网络驱动器上创建一个新的工作存储库。但是,当我尝试在同一个网络驱动器(不同的文件夹)上克隆一个新的工作存储库时,它会失败。

使用 TortoiseGIT,在我右键单击并选择“GIT Clone”后,将所有必要的路径放入我的裸仓库(新的工作仓库已经填写)并点击确定,我收到以下错误:

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”子文件夹结构。

这不是 ar/w 权限问题,因为我可以 r/w 任何其他文件,但似乎无法创建这个新克隆的 repo。我的同事也不能。即使我到了网络驱动器上的另一个文件夹,我仍然无法成功克隆 repo。令人惊讶的是,如果我只是复制/粘贴我在另一个位置创建的存储库,然后手动执行“拉”,它会成功运行并更新。

关于下一步尝试什么的任何想法?显然我已经用谷歌搜索了“退出代码 128”和“无法更新 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
4

2 回答 2

6

Git 可能正在尝试使用在网络驱动器上失败的硬链接做一些聪明的事情。尝试使用git clone --no-hardlinks /r/path/to/my/repogit clone file:///r/path/to/my/repo

于 2012-12-12T00:57:39.400 回答
-2

请通过 msysgit 中的命令行执行此操作

git clone /r/path/to/my/repo /r/some/other/path

此外,我建议从命令行使用 git,因为它是一个旨在从命令行使用的工具。对于遇到的任何问题,您将能够更快地找到更多帮助。

于 2012-12-05T17:49:28.047 回答