【发布时间】:2011-05-03 19:46:39
【问题描述】:
我在 Windows PC 上的共享文件夹中有一个 Git 存储库,我正在使用 UNC 路径访问它,例如
git clone //server/share/MyRepo.git
当我在家中通过 VPN 从该存储库获取更改时,git-upload-pack.exe 需要 非常 很长时间才能运行。我意识到没有服务器(本身)涉及,我的本地 PC 正在运行所有可执行文件。
git-upload-pack.exe 的名称向我暗示,我的本地 PC 正在从远程文件共享中读取文件,以便将它们上传到某处,但那将是它自己,这没有任何意义。这反过来又让我认为fetch 的性能远不及它所能达到的水平。这就像本地机器正在做所有的工作来减少要传输的数据,但要做到这一点,它必须传输所有的数据。
谁能解释一下这是如何工作的?在不通过 SSH 或其他任何方式在远程端运行真正的 Git 服务器的情况下,性能是否尽可能好,或者文件是否不必要地来回传输?
【问题讨论】:
-
旧补丁应该在 UNC 访问场景中更快地呈现当前的 git 2.0.x:请参阅 my answer below