如何在Git Bash中使用Windows网络路径

92
在Windows中,“\\servername\share\path\to\folder”语法表示网络资源的路径。在使用Unix样式路径的Git Bash中如何使用这样的文件夹?

如果可以避免,最好不要使用Samba上的Git。这样会很慢且容易出错。 - iveqy
9
对于那些在Windows上使用git-bash替代Unix环境的人来说,这仍然是有用的。 - Wilbert
4
没人提到使用Samba来操作Git。Git bash不等同于Git。 - robertmain
5个回答

119

实际上只需输入cd //servername/share/path/to/folder,其中//servername/ 后面跟着至少一个共享文件夹。


8
这里的cd并没有什么特别之处。人们可以从Bash脚本中直接访问共享文件,例如:find //10.10.10.10/backup -type f -name "*.source" | zip -@ -9 b.zip - mgaert
在Win10下,如果您使用提升的cmd提示符以及git bash,则应将git(bash)的提升级别与创建共享的cmd窗口的级别匹配。否则,映射的驱动器(隐式地使用protometa的cd方法或明确地使用Florian von Stosch)将不可用:可能需要几分钟来解决。 - simon coleman
3
值得注意的是,您反转了所有斜杠(相对于OP),以使其正常工作。 - Brent Bradburn
从sshd的bash.exe -l shell中,它显示“Function not implemented”,但是在桌面上可以工作;有什么想法如何使其通过ssh工作? - ThorSummoner
cd //servername/share/path/to/folder 运行得非常好!前提是您必须首先登录,例如通过输入 \\servername 并提供用户名/密码来进行登录,否则可能会显示 Permission Denied - MD. Mohiuddin Ahmed
即使是 cd //servername\share\path\to\folder 也可以工作。如果你在复制/粘贴,请只更改前两个斜杠。 - wisbucky

23

你需要将驱动器字母与你想要使用的网络路径关联起来。为此,请在Windows cmd命令提示符中执行以下命令:

pushd \\servername\share\path\to\folder

下一个提示将显示分配的驱动器字母,例如Z:\path\to\folder。现在,打开Git Bash(它无法与已经运行的实例一起工作)并进入新创建的驱动器字母:
cd Z:/path/to/folder

或同样

cd /z/path/to/folder

5
pushd命令很好。当然,直接使用net use N: \\\\10.10.10.10\\backup也可以,只需要指定驱动器名称即可。 - mgaert

8
实际上,
git clone //servername/path/to/repo.git

这对我来说很好用(使用的是git版本1.9.0.msysgit.0


4
不需要手动输入路径。只需右键单击您的存储库,然后单击Git Bash选项。 它将使用您的存储库路径打开git bash。
此外,我建议使用Windows的Mp网络驱动器选项将网络位置映射为驱动器并仅使用它。

如果它还不是一个仓库呢? - KansaiRobot

3

如果您需要进行克隆,请参考此处的更合适的答案:

git clone file:////<host>/<share>/<path>

注意单词 file 和其后的 4 条斜杠,这就是诀窍。

如果你只是在网络驱动器上创建了一个仓库,像这样:git init --bare \\host\share\repository-name.gitgit clone file:////host/share/repository-name那么这应该是被接受的答案。 - paulecoyote

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接