【问题标题】:Using n github repositories for a single github-page website?为单个 github 页面网站使用 n 个 github 存储库?
【发布时间】:2015-01-06 15:22:25
【问题描述】:

我正在编写一个位于 2 个 github 存储库的网站:WEBSITE.git(2MB 或 2%)和 AUDIO.git(98MB = 98%)。我将其部署如下:

git clone https://github.com/<user>/WEBSITE.git
mkdir -p ./audio ./audio/cmn;
git clone https://github.com/<user>/AUDIO.git ./audio/

部署后结构如下:

|- /html/<files>
|- /css/<files>
|- /js/<files>
|- /audio/<AUDIO.git's files>

Repository AUDIO 是来自动态开源项目的 98% 的项目重量 (100MB),WEBSITE 是我的 2% 的代码。

当然,当我将 git checkout --orphan gh-pages 添加到 WEBSITE.git 时,gh-pages http(s)://&lt;user&gt;.github.io/WEBSITE/ 网站可以正常工作,但没有音频。一切如我们所料。

我需要音频才能工作,简单的方法是将这些音频完全集成到 WEBSITE.git。但我不太愿意将这样的重文件添加到它的 git 历史记录中,因为它会使我的 html/css/js 存储库的权重显着增加 50 倍。这很重要,因为我正在合作与互联网连接非常低的开发人员一起使用。

我应该如何处理?是否有一些秘密 hack 可以将外部 github 存储库集成到 gh-pages 文件结构?(将 AUDIO.git 插入 http(s)://.github.io/MYSITE/audio/ )

【问题讨论】:

  • 听起来你在寻找 git 子模块。
  • 根据Using submodules with Pages:“如果你的仓库包含submodules,它们会在页面构建时自动拉入。”
  • @Hugolpz,您似乎尚未将音频存储库配置为子模块。
  • 我还没有。我也在找那个。 (在线阅读文档)
  • @Chris:答案是 `git submodule add -- "https://github.com//AUDIO.git " "./audio/" 。如果您想将此添加为答案,我将很乐意验证它:)

标签: github github-pages


【解决方案1】:

Github 页面

自 2017 年起,用户 Configuring a publishing source for GitHub Pages 来自 github 的设置。

Git 子模块

# Get project
git clone "https://github.com/<user>/WEBSITE.git"  # clone your project
cd ./WEBSITE/                                      # move in
## Add submodule to target folder
git submodule add -- "https://github.com/<user>/AUDIO.git" "./audio/" 
## Commit changes 
git commit -am "dev,git: add submodule https://github.com/<user>/AUDIO.git" 
git push
## Update/Install submodules locally
git submodule update --init --recursive

克隆和更新存储库

使用 git 1.6.5+ 的子模块克隆存储库:

git clone --recursive git://github.com/foo/bar.git
cd bar

【讨论】:

【解决方案2】:

使用 Github 页面,您可以简单地做到:

主要网站

托管在github.com/userName/username.github.io。最终使用custom domain name

通过username.github.io 或自定义域名到达。

音频文件

托管在github.com/userName/audio

通过username.github.io/audio 到达

地方发展

主站点可以.gitignore 音频文件夹,该文件夹本身托管音频存储库。 这将复制在线文件夹层次结构。

【讨论】:

  • 这是否需要为 Audio 创建一个 git 分支 gh-pages ?
  • master 在 userName.github.io 上,gh-pages 在其他存储库上。
猜你喜欢
  • 2021-11-03
  • 2020-01-26
  • 1970-01-01
  • 2018-10-07
  • 2022-08-18
  • 2021-12-31
  • 1970-01-01
  • 2017-06-25
  • 2016-09-25
相关资源
最近更新 更多