主分支中的/ dist文件夹中的主机github页面

时间:2017-02-26 14:38:49

标签: github deployment build gulp github-pages

我试图将我的-username-.github.io存储库发布到github页面,但我的index.html位于dist文件夹中。

我无法使用git subtree push --prefix dist origin gh-pages,因为这适用于项目页面,而非用户/组织页面。

我想要的只是,github将dist作为托管用户/组织页面的根目录。请帮忙。谢谢

PS:我不想做重定向黑客攻击。

3 个答案:

答案 0 :(得分:4)

你不能这样做。

GitHub页面可以通过以下任一方式托管:

  • 主分支中的/文件夹
  • gh-pages分支中的/文件夹
  • 主分支中的/docs文件夹

但必须从主分支中的/文件夹构建用户页面。

提示

除了主人之外的另一个分支上的代码。每次推送到此分支后,在任何CI / CD工具中构建它并将其推回到主分支。

答案 1 :(得分:3)

Configuring a publishing source for GitHub Pages(非常有限)

虽然可以选择一个文件夹作为gh页的来源,但您只能 在父级的/docs目录中这样做,并且您仍然必须实际提交构建的文件,这意味着您将必须覆盖.gitignore并提交两次。

自动部署脚本

如果您使用的是npm,则有几个软件包可以处理将子目录发布到gh-pages。使用选项--save-dev安装,将其添加到您的devDependencies

  • push-dir

    # install
    $ npm install push-dir --save-dev
    
    # usage
    $ push-dir --dir=dist --branch=gh-pages
    
  • gh-pages

    # install
    $ npm install gh-pages --save-dev
    
    # usage
    $ gh-pages -d dist
    

在任何一种情况下,如果都能使用适合您的命令行工具并使用正确的选项对其进行配置,则可以在package.json中对其进行别名,如下所示:

"scripts": {
  "deploy": "npm run build && gh-pages -d dist"
}

进一步阅读

答案 2 :(得分:0)

如果像我一样,您希望使用git中的子树将其上传到github页面,则可以使用以下代码。

git subtree push --prefix dist origin gh-pages