Git将逃避我的远程路径上的反斜杠

时间:2014-06-16 02:54:36

标签: git

这不起作用,因为Git会将双反斜杠转换为一个反斜杠,并且它将抛出错误 \ MyTestServer \ c $ \ Repository \ TestProject 不是有效的存储库..

git remote add -m master TestServer "\\MyTestServer\c$\Repository\TestProject"

git fetch TestServer

任何帮助请...

2 个答案:

答案 0 :(得分:2)

您可以尝试using forward slashes

git remote add -m master TestServer "//MyTestServer/c$/Repository/TestProject"

较早的解决方法是try and double-escape the slashes

git remote add -m master TestServer "\\\\MyTestServer\\c$\\Repository\\TestProject"

答案 1 :(得分:0)

注意:Git 2.14(2017年第3季度)在使用反斜杠路径时会使Git更强大 它确保" foo\bar\baz"在" git fetch foo\bar\baz",即使其中没​​有斜杠,也不能是Windows上的遥控器的昵称(如git remote名称),因为这可能是本地文件系统上的路径名。

commit d9244ec(2017年5月25日)和commit e20b5b5(2017年5月22日)Johannes Sixt (j6t)(由Junio C Hamano -- gitster --合并于commit 7d26aa3,2017年6月2日)

  

Windows:不要将带有反斜杠的路径视为远程昵称

     

在Windows上,远程存储库名称,例如git fetch foo\bar   显然不是配置的远程存储库的昵称   但是,function valid_remote_nick()不考虑反斜杠   使用is_dir_sep()检查Windows上的斜杠和反斜杠。

     

这是在玩Duy的补丁时发现的   fopen()失败   读取分支和远程的函数   文件受valid_remote_nick()检查保护   如果没有此更改,Windows样式的绝对路径将被错误地视为   昵称并连接到前缀并与fopen()一起使用   这会触发警告,因为不允许在路径名中使用冒号:

C:\Temp\gittest>git fetch C:\Temp\gittest
warning: unable to access '.git/remotes/C:\Temp\gittest': Invalid argument
warning: unable to access '.git/branches/C:\Temp\gittest': Invalid argument
From C:\Temp\gittest
 * branch            HEAD       -> FETCH_HEAD