1

因为我不想为简单易用的 github.com 私人托管花费 +12 美元,所以我将很多代码库放在共享托管帐户上的小型存储库中。这使我可以拥有尽可能多的代码仓库。

由于这些存储库不占用任何资源,因此我还在该帐户上放置了几个非常轻量级的站点,以最大限度地提高我的使用率。这些站点实际上使用其中一些相同的代码库作为其项目的子模块。

因此,我通过 ssh 为每个 repo 和站点推送/拉取代码。网站本身只设置了几个指令,也会拉取这些子模块。

所以我在我的电脑上有一个 simplesite.tld 项目,其子模块如下所示:

[submodule "modules/blog"]
        path = modules/blog
        url = user@simplesite.tld:~/git/modules/blog/

然后我将代码推送到 simplesite.tld 并通过 SSH 登录到共享主机并更新 simplesite.tld 模块

git submodule update

但它要求我输入“用户”的 SSH 密码,以便登录并获取 repo 代码。这只是一个烦恼,因为 repo 在同一台服务器上。

那么是否有更好的子模块链接可以让外国计算机(如我的 PC)和同一个硬盘驱动器中的项目都可以使用?

4

3 回答 3

1

您可以通过 SSH 设置公钥身份验证,以避免每次都输入密码。

于 2010-02-26T20:35:56.910 回答
1

您可能可以使用 git 的基本 HTTP 传输来提供对您的存储库的全局只读访问(假设没问题),或者通过.htaccess指令限制访问。这应该适用于大多数共享主机帐户。这将让您在两个地方使用相同的网址。

或者,或者,您可以使用子模块以外的其他东西(我个人发现这对于许多潜在的用例来说是相当不足的)。例如,我喜欢mr。它的作用与子模块略有不同,但它可能可以工作。

于 2010-02-26T21:25:23.597 回答
1

我想您已经通过冗余密码请求解决了您的问题 :)
如果没有,我最近遇到了类似的问题,我通过使用子模块的相对 urls 解决了这个问题 - 请参阅Git submodules using relative urls中的详细信息。

于 2012-03-30T09:43:36.167 回答