如何在Windows上设置和克隆远程git仓库?

时间:2012-02-16 09:50:39

标签: linux windows git ssh

有人知道如何从Windows服务器上的git远程存储库中签出,克隆或获取项目或代码吗?

存储库IP为:xxx.xx.xxx.xx,源文件目录为c:\repos\project.git

我习惯了SUSE Linux终端的命令行界面。我尝试了同样的方法,但总是回复

fatal: ''/repo/project.git'' does not appear to be a git repository
fatal: Could not read from remote repository..
Please make sure you have the correct access rights

有谁能告诉我如何设置和克隆?

2 个答案:

答案 0 :(得分:11)

您必须从Windows机器设置某种共享,您可以使用git访问。 Git支持3种访问方法:ssh,远程文件系统或http。最后一个可能是最复杂的,所以我不会详细说明。前两个是:

  1. 在Windows上设置ssh服务器。

    您可以尝试使用本指南:http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/。另请参阅this question以获取更多选项。

    比你git clone username@xxx.xx.xxx.xx:/c/git/path/to/repo克隆(你会被要求输入密码)。

    这种方法的优点是它是安全的(连接是加密的,ssh服务器是值得信赖的),所以你可以通过互联网使用它。由于git服务器在访问期间在Windows机器上运行,因此您可以为高级安全策略设置挂钩,控制其他进程等。

  2. 使用Windows共享共享存储库。

    在linux主机上,您需要使用smbmount挂载共享。这可能需要用户名和密码,具体取决于您设置权限的方式。

    比你按git clone /share/mountpoint/path/to/repo克隆。

    这可能更容易设置,但它不是很安全,因此不应在本地网络之外使用。同样在这种情况下,Windows机器上的挂钩将不会被执行(实际上git会尝试在Linux机器上执行它们,但是它们要么不能在那里运行,要么可以被绕过),所以你不能应用高级安全

  3. 特定文件不相关,您需要提供包含.git子目录的目录的路径,或者指向裸存储库(上面为path/to/repo)的目录。

答案 1 :(得分:0)

首先,git存储库只是您需要访问的一堆文件。您写过关于克隆和获取存储库的文章,这很容易 - 您只需要访问文件(并具有读取权限)。

可以通过直接访问文件系统,http(s)协议或ssh连接来完成。实际上,甚至有一种方法可以通过ftp服务器来实现。

你能做什么:

1)设置ssh服务器,然后通过ssh服务器访问git文件 - 实际上,你应该使用的路径取决于你在windows上使用的ssh服务器:source

2)设置Web服务器以访问该文件: git clone http://host/path/to/repo

3)从linux机器上的windows挂载文件系统并克隆repo: git clone /mnt/filesystem/path/to/repo

尽管您选择了这种方法,但我建议您参考Pro Git Book

中的相应章节