【问题标题】:Proper way to release in Git with submodules使用子模块在 Git 中发布的正确方法
【发布时间】:2015-04-05 10:49:42
【问题描述】:

我开始使用 git 子模块,我有点困惑。基本上在我的项目中,我需要一个修改版的 hybridauth 库。 因此,我分叉了 hybridauth,进行了更改并将其添加为我的 repo 的子模块。

现在,当我尝试发布我的 repo 或简单地下载我的 master 分支的 zip 副本(我使用 bitbucket 和 sourcetree )时,我得到的项目上有一个空的 hybridauth 文件夹。

我认为我已经正确配置了所有内容。当我对子模块进行更改时,我也会在主仓库中提交。

但我无法将整个项目下载到一个文件中以重新分发它。

我该怎么做?谢谢!

【问题讨论】:

  • 我遇到了同样的问题,VonC 的回应也对我有用。如果你的仓库的子模块也有嵌套的子模块,只需要使用git submodule update --init --recursive

标签: git github bitbucket git-submodules


【解决方案1】:

您可以通过以下方式构建一个存档文件:

但是,该归档仅是本地的(在 BitBucket 上不可见)。 GitHub offers a way to associate an artifact (like an archive file) to a "release".

对于 BitBucket,您可以将您的项目与 Continuous Integration (CI) service 关联,并在构建/打包作业中重复上述步骤,并通过该 CI 服务分发生成的可交付成果(压缩存档)。

【讨论】:

    【解决方案2】:

    不确定 Github 如何处理带有子模块的版本,但对于克隆您的存储库的人,他们应该使用 git clone --recursive git://github.com/foo/bar.git 来获取您的子模块。

    【讨论】:

    • 是的,我读到过,但这不是我真正要问的。对 zip 文件更感兴趣,以提供给对 git 一无所知的普通用户
    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多