gpt4 book ai didi

git - 如何让我的本地存储库可用于 git-pull?

转载 作者:IT王子 更新时间:2023-10-29 01:25:44 26 4
gpt4 key购买 nike

我有一个工作副本存储库,我一直在使用它没有问题;这个存储库的来源在 GitHub 上。

我想让我的工作副本存储库作为我的构建机器(另一台物理主机上的 VM)的来源,这样我对我的工作副本所做的提交就可以在构建机器上构建和测试,而无需首先通过 GitHub。我已经为 GitHub 存储库构建了一个构建,但我希望这是一个“黄金”存储库/构建;也就是说,如果有什么东西在那里,应该保证针对 GitHub 的构建通过。

我查看了关于 Git URL 的文档,发现可以选择使用 git://host.xz[:port]/path/to/repo.git/形式的 URL (参见,例如 git-clone documentation)。我想以最简单的方式做到这一点,配置最少:我不想设置 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)

我错过了什么吗?

最佳答案

存在五种可能性来设置用于 pull 的存储库:

  • 本地文件系统:git clone/path/to/repogit clone file://path/to/repo。如果你有网络文件系统,那么工作最少,但网络使用效率不高。 (这几乎就是 Joakim Elofsson 提出的解决方案)
  • HTTP 协议(protocol):git clone http://example.com/repo。您需要任何 Web 服务器,并且您还需要运行(可能是自动地,从一个 Hook )git-update-server-info生成通过“哑”协议(protocol)获取/pull 所需的信息。
  • SSH:git clone ssh://example.com/srv/git/repogit clone example.com:/srv/git/repo 。您需要设置 SSH 服务器(SSH 守护程序),并在客户端上安装 SSH(例如 MS Windows 上的 PuTTY)。
  • git 协议(protocol):git clone git://example.com/repo。您需要运行 git-daemon在服务器上;有关详细信息,请参阅文档(您可以将其作为独立进程运行,仅用于获取,不必作为服务运行)。 git-daemon 是 git 的一部分。
  • bundle:您使用 git-bundle 在服务器上生成 bundle 命令,以任何方式(甚至通过 USB)将其传输到客户端计算机,然后使用 git clone file.bndl 进行克隆(如果克隆不起作用,您可以执行“git init”、“git remote添加”和“git fetch”)。

您的示例中缺少的可能是在服务器上运行 git-daemon。那,或者错误配置 git-daemon。

很遗憾,我无法帮助您在 MS Windows 上将 git-daemon 作为服务运行。不过,最新版本的 msysGit 中没有关于 git-daemon 不工作的公告。

关于git - 如何让我的本地存储库可用于 git-pull?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com