UNC路径上的git

dij*_*tra 29 git cmd

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

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

顺便说一句,我使用PortableGit,因为我的机器上没有管理员权限.

有任何想法吗?

Kon*_*zin 48

这对我有用:

git.exe clone "d:/dev/SDK" "//comp1/Proj/git/SDK/"
Run Code Online (Sandbox Code Playgroud)

  • 需要注意的是,路径使用_forward-slashes_(`// NAME /`)而不是反斜杠(`\\ NAME \`) (7认同)
  • 并且不需要从那里映射网络驱动器b/c,你只需要参考`origin`(`git push origin master`等) (2认同)

Tob*_*ler 11

只需使用UNC路径 - git不关心能做什么cmd和不能做什么.


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

  • 这不是答案.查看Konstantin Tenzin的回​​答. (2认同)
  • @DavidRoussel我理解第一段为"我使用的计算机有一个永久的网络连接,我想存储git repo,我想从另一台机器推送到互联网".也许我弄错了,但在我的类似情况下,我在网络共享上有我的大学的用户文件夹,并且不应该使用本地驱动器,在这种情况下直接在UNC路径git存储库工作有意义 (2认同)

Cod*_*Kid 6

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

pushd \\172.158.1.254\network_usb
Run Code Online (Sandbox Code Playgroud)

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

popd
Run Code Online (Sandbox Code Playgroud)

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

git clone //172.158.1.254/network_usb/pathto/nameOfnewRepo.git
Run Code Online (Sandbox Code Playgroud)

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