适当的git子模块链接

时间:2010-02-26 20:28:08

标签: git git-submodules

因为我不想花费12美元购买简单易用的github.com私有主机,所以我将很多代码库放在共享主机帐户上的小型存储库中。这允许我拥有尽可能多的代码库。

由于这些回购不占用任何资源,我还在该帐户上放置了几个非常轻的网站,以最大化我的使用率。这些站点实际上使用了一些相同的代码库作为其项目的子模块。

所以,我通过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代码。由于回购在同一台服务器上,这只是一个烦恼。

那么有一个更好的子模块链接,我可以使用外国计算机(如我的电脑)和同一硬盘中的项目都可以使用吗?

3 个答案:

答案 0 :(得分:1)

您可以通过SSH设置public key authentication,以避免每次都输入密码。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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