我正在编写一个代表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%的代码。
当然,当我向WEBSITE.git添加git checkout --orphan gh-pages
时,gh-pages http(s)://<user>.github.io/WEBSITE/
网站有效,但没有音频。一切都如我们所料。
我需要音频工作,简单的方法是将这些音频完全整合到WEBSITE.git。但是我非常不愿意将这些重文件添加到它的git历史中,因为它会将我的html / css / js存储库的权重大幅增加50倍。这很重要因为我正在组队与互联网连接非常低的开发人员。
我该如何处理?是否存在将外部github存储库集成到gh-pages文件结构的秘密攻击?(将AUDIO.git插入http(s)://.github.io/MYSITE/audio/)
答案 0 :(得分:1)
根据这个用例......
<强> 0。获取主存储库 WEBSITE.git:
git clone "https://github.com/<user>/WEBSITE.git"
cd ./WEBSITE/ # and `git branch` gives "master"
<强> 1。将子模块 AUDIO.git添加到您的WEBSITE的./audio/
文件夹中。
git submodule add -- "https://github.com/<user>/AUDIO.git" "./audio/"
2.提交周期:
git commit -am "dev,git: add submodule https://github.com/<user>/AUDIO.git"
git push
编辑:截至2017年,现在有一种更简单的方法可以从github的设置中Configuring a publishing source for GitHub Pages。这个答案仍然启发了n git子模块的使用。
3.更新分支gh-pages
git checkout gh-pages # go to local branch gh-pages
git rebase master # synchronize local gh-pages as a copy of local master
git push origin gh-pages # push changes to origin, for branch gh-pages
git checkout master # return to local branch master
使用子模块为git +1.6.5克隆存储库:
git clone --recursive git://github.com/foo/bar.git
cd bar
更新存储库以安装子模块:
git submodule update --init --recursive
答案 1 :(得分:1)
使用Github页面,您只需执行以下操作:
托管于github.com/userName/username.github.io
。最终使用custom domain name。
与username.github.io
或cutom domaine名称达成。
托管于github.com/userName/audio
。
与username.github.io/audio
主站点可以.gitignore
音频文件夹,它本身托管音频存储库。
这将复制在线文件夹层次结构。