【问题标题】:Git submodules in github repogithub repo 中的 Git 子模块
【发布时间】:2015-04-09 07:09:33
【问题描述】:

在我的项目中,我使用第三方库。我在我的项目中 git 克隆了这个库,然后在 lib 文件夹中完成了 git submodule init 和 git submodule update。我将我的主项目推送到了 github,但是这个第三方 lib 的内容没有发送,并且 lib 文件夹在我的 github 项目 repo 中看起来像一个绿色文件夹。

如果我在另一台机器上克隆我的主项目,我没有库的内容。所以,我应该在机器上再次 git 克隆库并再次运行 init 和更新命令,还是有什么方法可以推送第 3 方库的内容到我的 github 存储库?

谢谢

【问题讨论】:

    标签: git github git-submodules


    【解决方案1】:

    请注意,自 2013 年 4 月 30 日起,当您在 github.com 上查看包含子模块的存储库时,您会获得该子模块的有用链接和信息:

    您现在可以看到子模块指向的确切引用。

    Repository Contents API 将反映该 SHA1。

    curl https://api.github.com/repos/jquery/jquery/contents/test/qunit
    
    {
      "name": "qunit",
      "path": "test/qunit",
      "type": "submodule",
      "submodule_git_url": "git://github.com/jquery/qunit.git",
      "sha": "6ca3721222109997540bd6d9ccd396902e0ad2f9",
      "size": 0,
      "url": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
      "git_url": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
      "html_url": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9",
      "_links": {
        "self": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
        "git": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
        "html": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9"
      }
    }
    

    【讨论】:

      【解决方案2】:

      是的,子模块本质上是一个自己的 git 存储库。父 git 项目只是引用一个特定的提交。有关如何维护它们的详细信息,请参阅 git submodule 的帮助。是的,您确实需要为每个子模块初始化和更新存储库,但是,您会发现有一些命令(在帮助中)可以为您完成很多工作。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题:我想从托管在 github 上的项目 repo 中尝试一些代码,所以我克隆了它。在我的同事告诉我魔法咒语之前,所有构建命令都不起作用:

        git 子模块更新 --init

        正确克隆了 repo 中引用的子模块。从“git submodule help”或“man git-submodule”中,我也不清楚这些。

        祝你好运!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-20
          • 1970-01-01
          • 2020-07-08
          • 2021-01-19
          相关资源
          最近更新 更多