UNC路径上的git

时间:2011-02-14 23:32:07

标签: git cmd

我的计算机使用的是Windows XP且没有Internet连接,只能访问网络驱动器。我想在网络驱动器上设置一个git存储库,然后从我的本地存储库推送到它,这样我就可以在一天结束时进入一台具有Internet连接的计算机并从网络驱动器推送到github。

我的问题是我无法从git访问网络驱动器。我把PortableGit放在网络驱动器上,但是git-bash.bat和git-cmd.bat死了“CMD不支持UNC路径作为当前目录。”。我尝试在git-cmd.bat中用“pushd”替换“cd”,但它不起作用。

BTW,我使用PortableGit,因为我的机器上没有管理员权限。

有什么想法吗?

7 个答案:

答案 0 :(得分:48)

这对我有用:

git.exe clone "d:/dev/SDK" "//comp1/Proj/git/SDK/"

答案 1 :(得分:10)

只需使用UNC路径 - git无关心cmd可以做什么和不能做什么。


旧答案:将UNC路径绑定到驱动器号(或使用目录符号链接)。

答案 2 :(得分:6)

首先打开一个Windows控制台,Run-> cmd

pushd \\172.158.1.254\network_usb

现在您应该可以'cd'通过驱动器上的所有目录。您可以选择键入 git init --bare nameOfnewRepo.git某处。

popd

现在打开git bash并cd到你要在网络驱动器上克隆repo的位置

git clone //172.158.1.254/network_usb/pathto/nameOfnewRepo.git

请注意,在git bash中,斜杠是向前的,在Windows控制台中是向后的。

答案 3 :(得分:2)

正如康斯坦丁所说,“// comp1 / Proj / git / SDK /”作为UNC路径可以正常工作。

其他人提到使用远程文件系统的性能不佳,我无法重现。克隆相同的repo需要3分45秒通过加密的VPN文件系统访问和3分钟25通过未加密的HTTP(Bonobo Git服务器)。 用于回购访问的安全通道+ Windows身份验证当然值得额外10%。

请注意,Cygwin的“git”命令不适用于此远程路径。与GitExtensions捆绑在一起的git.exe工作正常,VS2015也能正常工作。

答案 4 :(得分:0)

在msysGit邮件列表中讨论了一个类似(但不完全相同)的问题(当它处于活动状态时,问题跟踪器就会回来)。虽然这个问题是关于“Git bash here” - 来自UNC的特征,但解决方案可能类似。也许其中一些链接可以帮助您找到解决方案:

如果您找到解决方案,请考虑将修复程序提交回msysGit项目:)

答案 5 :(得分:0)

检查您是否确实可以访问本地驱动器。安装它将是最简单的解决方案。

答案 6 :(得分:0)

似乎有一个寄存器值允许在cmd上使用UNC路径。您可以通过在cmd上运行它来设置寄存器:

reg add “HKCU\Software\Microsoft\Command Processor” /v DisableUNCCheck /t REG_DWORD /d 0x1 /f

Source