有人知道如何从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
有谁能告诉我如何设置和克隆?
答案 0 :(得分:11)
您必须从Windows机器设置某种共享,您可以使用git访问。 Git支持3种访问方法:ssh,远程文件系统或http。最后一个可能是最复杂的,所以我不会详细说明。前两个是:
在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机器上运行,因此您可以为高级安全策略设置挂钩,控制其他进程等。
使用Windows共享共享存储库。
在linux主机上,您需要使用smbmount
挂载共享。这可能需要用户名和密码,具体取决于您设置权限的方式。
比你按git clone /share/mountpoint/path/to/repo
克隆。
这可能更容易设置,但它不是很安全,因此不应在本地网络之外使用。同样在这种情况下,Windows机器上的挂钩将不会被执行(实际上git会尝试在Linux机器上执行它们,但是它们要么不能在那里运行,要么可以被绕过),所以你不能应用高级安全
特定文件不相关,您需要提供包含.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
中的相应章节