将缩小的源代码部署到github-pages

问题描述 投票:1回答:1

我在弄清楚如何最好地将缩小的构建部署到gh-pages时遇到了麻烦,但是却将开发构建保留在master中。

我有一个使用这种格式的存储库:

/build
/public
  /stylesheets
     a bunch of scss files
  /javascript
     a bunch of js files
  index.html
gruntfile.js

在开发过程中,我的任务艰巨,可以监视所有内容并创建未压缩的内置文件。 开发期间的构建文件夹如下所示

/build
  index.html
  main.js
  styles.css

然后,我要完成创建生产版本的艰巨任务,以最小化我的JavaScript和CSS,然后内联到我的index.html文件中。 给我一个simly的构建目录

/build
  index.html

我需要能够在不破坏存储库历史记录的情况下,将生产的,最小化的build文件夹部署到gh-pages分支。 理想情况下,master分支根本不包含build文件夹。

我知道我可以使用git subtree push --prefix dist origin gh-pages部署子git subtree push --prefix dist origin gh-pages ,问题是在正确的分支中拥有正确版本的build文件夹。

git github gruntjs
1个回答
0
投票

该URL上的帖子非常有用: https : //github.com/X1011/git-directory-deploy

重要的一点:由于我不想检入build文件夹,并且希望将其保留在.gitignore中,因此子树推送没有任何意义。 这个答案还使您有机会在推送主文件中从未见过的生产文件之前先构建它们。

假设dist文件夹是生产文件所在的位置,这是设置方法。

git --work-tree dist checkout --orphan gh-pages首先创建一个gh-pages分支,该分支没有历史记录并且与其他分支(一个孤儿)分开

git --work-tree dist rm -r "*"从分支中删除常规源文件

git --work-tree dist add --all仅添加在文件dist

git --work-tree dist commit -m "initial publish"

git push origin gh-pages

git symbolic-ref HEAD refs/heads/master && git reset --mixed重置回master

并进行其他部署

git checkout gh-pages

git --work-tree dist add --all

git --work-tree dist commit -m "Commit Message"

git push origin gh-pages

git symbolic-ref HEAD refs/heads/master && git reset --mixed

© www.soinside.com 2019 - 2024. All rights reserved.