【问题标题】:Submodule not showing up in repo子模块未显示在 repo 中
【发布时间】:2015-06-29 13:34:15
【问题描述】:

我正在构建一些自定义 rpm 包,并试图将另一个项目的源代码作为子模块包含在内。在我第一次运行期间,我添加了包,当我查看 Github 页面时,我可以看到显示链接子模块的图标,但它位于错误的位置。

我做了一些更改以将子模块放置在我需要的位置(在/SOURCES 文件夹中),但是当我提交或尝试执行任何操作来更新存储库时,我没有看到任何表明子模块正在正确加载的信息地点。
使用submodule update 或任何其他相关命令时,我也看不到任何变化。

我应该删除.gitmodules 文件并重新开始吗?我担心这会产生无法预料的后果。是否有任何命令告诉 git 检查.gitmodules 文件并采取相应措施?

感谢您的帮助。

【问题讨论】:

    标签: git github rpm


    【解决方案1】:

    我为可能偶然发现此线程的其他人找到了解决方案。在搞砸了更新之后,我最终用git submodule add --force <url> <path> 再次添加了子模块。 --force 选项是必要的,因为 git 正在查看另一个具有相同名称的模块。不知何故,此链接已损坏且未更新。在这一步运行git submodule update 之后,目录被填充,并且一个链接出现在 github 页面中,表示更改。

    我在以下链接中找到了此信息:

    Link

    【讨论】:

      【解决方案2】:

      在使用子模块之前,您必须先初始化,然后才能更新它们。

      git submodule add <url> <name>
      

      那么你.git/config 应该包含以下条目:

      [submodule "name"]
          path = extension
          url = <url>
      

      现在您的项目中有子模块,此时您必须在主存储库下初始化并“安装”它(它应该将子模块内容克隆到定义的路径)。

      git submodule init
      git submodule update
      

      现在你们都准备好了。


      当我提交或尝试做任何事情来更新 repo 时,我没有看到任何表明子模块加载到正确位置的信息。

      submodule 是一个独立的存储库,因此在子模块文件夹中所做的任何更改在此文件夹之外都是不可见的,反之亦然。

      在子模块下所做的任何更改都必须在子模块文件夹中单独提交。

      【讨论】:

      • 所以我实际上在子模块下的.git/config 中有一些条目,可能是从我尝试不同的东西时开始的。它们都看起来像这样:[submodule "rpmbuild/SOURCES/collectd"] url = git://git.verplant.org/collectd.git,并且有三个条目。所以我想如果我只是做了submodule update 它会起作用,因为它们已经初始化了。然而,这似乎没有任何效果,git diff 没有输出,即使根据 git 文档应该有一些输出。
      • 删除所有重复项,进入子模块文件夹并在子模块文件夹中运行git fetch --all --prune。它应该更新子模块
      • 这也不起作用,但我确实找到了一个解决方案,我将作为答案发布。感谢您的帮助。
      • 这是在我的生产机器上唯一对我有用的东西,我不知道为什么这被否决了。我的开发箱上的子模块很好,但是在我的生产箱上拉下我的包含回购时,我不得不按照 CodeWizards 的评论反直觉地执行子模块初始化。谢谢!
      【解决方案3】:

      好的。因此,对于在将 empty repository 作为子模块导入时遇到同样问题的任何人。

      对我来说,它不起作用只是因为我作为子模块添加的 repo 是空的,所以我在该 repo 中创建了一个文件,推送它,然后重新运行所有内容。

      希望我能帮助到某人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 1970-01-01
        • 2015-10-20
        • 1970-01-01
        相关资源
        最近更新 更多