如何从局域网内的其他电脑git克隆窗口中的repo?

时间:2011-03-04 22:55:24

标签: windows git repository clone lan

我的主PC上有这个git repo“c:/ xampp / htdocs / * *”,其IP地址为192.168.0.6。现在我想从我的主PC上的Vmware Player上运行的ubuntu-server git克隆这个repo。

我做了

 git clone \\192.168.0.6\c:\xampp\htdocs\****

 git clone //192.168.0.6/c:/xampp/htdocs/****

来自ubuntu-server并且都没有工作。

fatal: could not create work tree dir '****'.: Permission denied

我错了什么? 我该怎么办?

7 个答案:

答案 0 :(得分:23)

要访问回购,您必须在192.168.0.6上共享,或者必须与拥有192.168.0.6文件的域用户相同。

如果您在192.168.0.6上共享目录(例如,共享名称为myrepo),则可以//192.168.0.6/myrepo访问该目录。

如果您使用192.168.0.6上已知的用户帐户登录到您的邮箱,则可以尝试通过管理共享访问该回购:

//192.168.0.6/c$/xampp/htdocs/...

始终使用正斜杠。

另一种选择是使用SSH访问远程机器。

答案 1 :(得分:23)

确保您的c:/ xampp / htdocs文件夹(或其子文件夹)在Windows中共享,因此您可以通过以下地址在网络上导航:

\\192.168.0.6\htdocs

然后使用file:////进行克隆。请注意,四个斜杠:

git clone file:////192.168.0.6/htdocs/somerepo.git

答案 2 :(得分:22)

您应该使用命令git daemon来托管您的仓库,如下所示:

在您的计算机中充当服务器:

git daemon --base-path=<path_to_folder_containing_project_folder> --export-all

(请注意path_to_folder_containing_project是包含项目文件夹的文件夹,它将提供该文件夹下的所有项目)

在您的客户中:

git clone git://<local ip>/<project name>

克隆的回购将其原点指向LAN中的服务器,因此您可能希望使用git remote set-url origin将其指向原始来源。

您可能希望使用git daemon选项运行--verbose,以便在遇到问题时获取更多详细信息。

答案 3 :(得分:2)

使用资源管理器(smb)将远程存储库作为网络共享安装是最简单的方法。我不完全确定,但我认为你的道路可能是错的。请改为file:///192.168.0.6\c:\xampp...

有两件事可能对你不利:

  • 您没有远程存储库的读取权限
  • 您在要创建存储库的位置(当前工作目录或您指定的目录作为git clone的第二个参数)没有写入权限。

并检查您的samba服务器是否适用于正常文件访问。

答案 4 :(得分:2)

要在Windows本地网络上制作git repo,您​​需要执行以下操作:

  1. 创建新的仓库

    git init --bare projectName.git

  2. 与您需要的用户分享此文件夹(projectName.git)

  3. 使用ipconfig命令(例如192.168.2.101)
  4. 找到您的PC ip
  5. 从某个用户的计算机上运行此命令

    git clone //192.168.2.101/projectName.git

  6. 注意:在finder中打开\\ 192.168.2.101以查看projectName.git的正确路径(例如//192.168.2.101/some/path/projectName.git)

答案 5 :(得分:1)

我最近在尝试将远程计算机中的存储库克隆到同一LAN网络中的本地计算机时遇到此错误。 解决方案是首先确保远程PC中的驱动器位置具有对本地PC的正确访问权限(读/写-可以使用Windows共享选项进行设置) 复制远程存储库的路径。在本地PC中,将路径粘贴到Windows资源管理器窗口中。然后复制其目录地址并将其粘贴到任何浏览器中。 现在,您应该获得一个包含主机名和正确的克隆URL格式的链接。 使用此链接可以在本地PC中克隆存储库。

希望这会有所帮助。 干杯。

答案 6 :(得分:-2)

“我在家里使用了一些不同的计算机,我想设置GIT,我可以从其中任何一个访问我的代码。我花了一点时间因为我太习惯了使用客户端 - 服务器模型,我将一台机器指定为保存存储库的“服务器”,其他一切都是客户端。相反,GIT似乎更像是一个合并工具,每个本地副本都是它自己的“主机”。 “一旦我理解了这一点,事实证明,设置GIT非常简单,只需要GIT本身和SSH”。

要了解更多信息,您可以查看以下链接: http://blog.lazyhacker.com/2010/04/setting-up-git-for-home-network.html