我试图将我的-username-.github.io存储库发布到github页面,但我的index.html
位于dist
文件夹中。
我无法使用git subtree push --prefix dist origin gh-pages
,因为这适用于项目页面,而非用户/组织页面。
我想要的只是,github将dist作为托管用户/组织页面的根目录。请帮忙。谢谢
PS:我不想做重定向黑客攻击。
答案 0 :(得分:4)
你不能这样做。
GitHub页面可以通过以下任一方式托管:
/
文件夹/
文件夹/docs
文件夹但必须从主分支中的/
文件夹构建用户页面。
提示强>
除了主人之外的另一个分支上的代码。每次推送到此分支后,在任何CI / CD工具中构建它并将其推回到主分支。
答案 1 :(得分:3)
虽然可以选择一个文件夹作为gh页的来源,但您只能 在父级的/docs
目录中这样做,并且您仍然必须实际提交构建的文件,这意味着您将必须覆盖.gitignore
并提交两次。
如果您使用的是npm,则有几个软件包可以处理将子目录发布到gh-pages。使用选项--save-dev
安装,将其添加到您的devDependencies
:
# install
$ npm install push-dir --save-dev
# usage
$ push-dir --dir=dist --branch=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