如何将子模块文件添加到Github版本?

时间:2016-01-11 10:59:12

标签: git github git-submodules

我的git Github存储库里面有一个子模块,我已经创建了它的一个版本。

我的存储库有这种结构(很经典):

repo_A (main repository)
  dir_A.1
  dir_A.2 (submodule)
  dir_A.3

但是当我下载该版本时,“dir_A.2”中没有任何内容。

有没有办法将dir_A.2文件添加到发布存档中?

由于一个非常特殊的原因,我需要它们在下载时间,而不是之后(我正在构建一个debian软件包,并且该工具正在检查存档是否与解压缩文件相对应)。

  

Github的支持回答了我:

     
    

目前无法做到这一点。感谢您的建议!我已将其添加到我们的列表中供我们的团队考虑。

  

2 个答案:

答案 0 :(得分:9)

GitHub tarball存档(API Content)从不包含子模块,也不包括我的知识。

一个子模块可以指向任何git repo(就像另一个gitHub repo,但是私有的,或者不能从GitHub访问的git repo)。

你有scripts like this one允许构建所有内容的git存档(父repo和子模块),但首先需要git clone --recursive

OP cooow确认in the comments

  

Github的支持回答了我:

     
    

目前无法做到这一点     还是)感谢你的建议!我已将其添加到我们的列表中供我们的团队考虑。

  

答案 1 :(得分:-1)

下载包含子模块的项目时,子模块的内容不会自动结帐,因此您必须明确结帐。

您必须在克隆

之后初始化并更新子模块
# got to the folder directory
cd project

# init the submodules folder and download the code
git submodule update --init --recursive