Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何git从局域网内的其他pc克隆windows中的repo?_Windows_Git_Repository_Clone_Lan - Fatal编程技术网

如何git从局域网内的其他pc克隆windows中的repo?

如何git从局域网内的其他pc克隆windows中的repo?,windows,git,repository,clone,lan,Windows,Git,Repository,Clone,Lan,我在我的主PC中有这个git repo“c:/xampp/htdocs/**”,它的IP地址是192.168.0.6。现在我想用git从ubuntu服务器上克隆这个repo,该服务器在我的主PC上的Vmware播放器上运行 是的 及 从ubuntu服务器上下载,两者都不起作用 fatal: could not create work tree dir '****'.: Permission denied 我做错了什么? 我应该怎么做?使用资源管理器(smb)将远程存储库装载为网络共享是最简单的

我在我的主PC中有这个git repo“c:/xampp/htdocs/**”,它的IP地址是192.168.0.6。现在我想用git从ubuntu服务器上克隆这个repo,该服务器在我的主PC上的Vmware播放器上运行

是的

从ubuntu服务器上下载,两者都不起作用

fatal: could not create work tree dir '****'.: Permission denied
我做错了什么? 我应该怎么做?

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

有两件事可能会让你出问题:

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

还要检查您的samba服务器是否可以正常访问文件。

要访问repo,您必须在
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访问远程计算机。

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

\\192.168.0.6\htdocs
然后使用file:////. 请注意,有四个斜杠:

git clone file:////192.168.0.6/htdocs/somerepo.git
“我有几台不同的电脑,我在家里使用,我想设置GIT,让我可以从它们中的任何一台访问我的代码。这花了我一点时间,因为我太习惯于使用客户机-服务器模式,我指定一台机器作为“服务器”“保存存储库和其他所有内容的是客户机。相反,GIT看起来更像一个合并工具,每个本地副本都是它自己的“主副本”。一旦我理解了这一点,设置GIT就变得非常简单,只需要GIT本身和SSH”

要阅读更多信息,请查看以下链接:

要在Windows本地网络上进行git回购,您需要执行以下操作:

  • 创建新回购协议

    git init--裸projectName.git

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

  • 使用ipconfig命令(例如192.168.2.101)查找您的PC ip
  • 从某个用户的计算机上运行此命令

    git clone//192.168.2.101/projectName.git


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

    您应该使用命令
    git daemon
    来承载您的repo,如下所示:

    在将用作服务器的计算机中:

    git守护进程--基本路径=--导出所有

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

    在您的客户中:

    git克隆git://

    克隆的repo将使其原点指向局域网中的服务器,因此您可能希望使用
    git remote set url origin
    将其指向原始原点


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

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

    希望这有帮助。
    干杯。

    为我工作得很好。为了清晰起见,你可以考虑措辞<代码> <代码>为<代码> <代码>。我得到了以下问题(即使修剪/更新所有分支),在接收到所有对象后:
    致命:读取错误:无效参数
    &
    致命:边带解复用器中的错误
    @DrumM您尝试了吗?感谢您包含
    --bare
    参数,这现在很有意义。我唯一的问题是您是否已经设置了“远程“repo在“本地”机器
    git clone//192.168.2.101/.git
    @tisaconundrum上使用此命令,您能逃脱吗
    远程
    repo在哪里?在网络驱动器上或同一台机器上的某个文件夹中,您希望运行
    git clone
    ?@tisacondurum如果在网络驱动器上,请使用
    ping[network drive name]-4
    获取网络驱动器的IP地址,然后使用
    git clone[networkdriveIP]\\从要克隆到的位置\\GitBareRepo
    的路径\\To\\GitBareRepo
    。我使用的是windows shell,因此使用了双反斜杠——如果您在unix系统上,则用它们代替正斜杠。@如果
    remote
    repo位于包含要克隆远程repo的位置的计算机上,则使用tisacondurum(即,远程和即将创建的
    local
    repo位于同一台计算机上)使用
    file://C:\\Path\\To\\GitBareRepo
    。感谢@MTV的帮助。最后我试着回答了自己的问题。即使
    .git
    开头没有名称,它也会克隆存储库
    \\192.168.0.6\htdocs
    
    git clone file:////192.168.0.6/htdocs/somerepo.git