我有一个工作副本存储库,我一直在使用它,没有任何问题;该存储库的来源位于 GitHub 上。
我想让我的工作副本存储库作为我的构建机器(另一个物理主机上的虚拟机)的来源,以便我对工作副本所做的提交可以在构建机器上构建和测试,而无需通过首先是 GitHub。我已经为 GitHub 存储库构建了一个版本,但我希望这是一个“黄金”存储库/构建;也就是说,如果那里发生了一些事情,那么针对 GitHub 的构建应该可以保证通过。
我查看了有关 Git URL 的文档,发现可以选择使用以下形式的 URLgit://host.xz[:port]/path/to/repo.git/
(参见,例如,git-clone 文档 http://git-scm.com/docs/git-clone)。我想以最简单的方式、最少的配置来完成此操作:我不想仅仅为了将其发布到我的构建机器而设置 SSH 守护程序或 Web 服务器。
我运行的是 Windows 7 x64 RC,安装了 MSysGit 和 TortoiseGit,并且在防火墙上打开了 Git 的默认端口 (9814)。请假设工作副本存储库位于D:\Visual Studio Projects\MyGitRepo
,主机名是devbox
。构建机器是Windows Server 2008 x64。我一直在构建机器上尝试以下命令以及相关的输出:
D:\Integration>git clone "git://devbox/D:\Visual Studio Projects\MyGitRepo"
Initialized empty Git repository in D:/Integration/MyGitRepo/.git/
devbox[0: 192.168.0.2]: errno=No error
fatal: unable to connect a socket (No error)
我错过了什么吗?
设置用于拉取的存储库有五种可能性:
-
本地文件系统:
git clone /path/to/repo
or git clone file://path/to/repo
。如果您有网络文件系统,但网络使用效率不高,则工作量最少。(这几乎完全是由乔金·埃洛夫森 https://stackoverflow.com/users/109869/joakim-elofsson)
-
HTTP协议:
git clone http://example.com/repo
。你需要anyWeb 服务器,并且您还需要运行(可能自动,从钩子)git 更新服务器信息 http://www.kernel.org/pub/software/scm/git/docs/git-update-server-info.html通过“哑”协议生成获取/拉取所需的信息。
-
SSH:
git clone ssh://example.com/srv/git/repo
or git clone example.com:/srv/git/repo
。您需要设置 SSH 服务器(SSH 守护进程),并在客户端上安装 SSH(例如 MS Windows 上的 PuTTY)。
-
git协议:
git clone git://example.com/repo
。你需要跑git 守护进程 http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html在服务器上;有关详细信息,请参阅文档(您可以将其作为独立进程运行,仅用于获取,不必作为服务运行)。 git-daemon 是 git 的一部分。
-
bundle:您使用以下命令在服务器上生成捆绑包git 捆绑包 http://www.kernel.org/pub/software/scm/git/docs/git-bundle.html命令,以任何方式(甚至通过 USB)将其传输到客户端计算机,并使用
git clone file.bndl
(如果克隆不起作用,您可以执行“git init”,“git remote add”和“git fetch”)。
您的示例中缺少的可能是在服务器上运行 git-daemon 。那,或者错误配置 git-daemon。
不幸的是,我无法帮助您在 MS Windows 上将 git-daemon 作为服务运行。不过,在最新版本的 msysGit 公告中,没有任何关于 git-daemon 无法工作的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)