bash - 拆分并推送提交的文件到两个不同的分支

标签 bash git sh github-pages vuepress

我想使用 VuePress 创建一个网站并使用 Github Pages 进行部署。幸运的是,VuePress 能够生成一个包含所有必需的 .html 文件的 dist 文件夹。该文件夹位于(从根目录)./docs/.vuepress/dist,因此我可以从该文件夹中获取所有文件并部署它们。

不幸的是,Github Pages 只能从 master 分支部署文件

https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages

并且无法为构建文件配置特定文件夹。我想到了以下解决方案:

在 master 分支旁边创建一个“dev”分支,并将 dist 文件夹中的文件保留在 master 分支中,并将项目放在 dev 分支中。

我开始在终端上学习使用 Git,并创建了一个 publish.sh 文件来提交项目并将其推送到 Github 存储库。

git add *
git commit -m "."
git push origin master

如何增强 shell 脚本以执行以下操作(如果可能)

git add *
git commit -m "."

git push -- all files -- origin dev

git push -- all files of the dist folder -- origin master

最佳答案

也许可以在 dist 文件夹中添加一个额外的存储库,该存储库将同步到 Github Pages 存储库,仅包含相关文件。

可以这样做:

$ cd dist
$ git init
$ git remote add origin <github-pages-repo>
$ git add .
$ git commit -m 'initial commit'
$ git push origin master

关于bash - 拆分并推送提交的文件到两个不同的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56092168/

相关文章:

bash - 如何收集程序的日志和输出并将它们传递给函数的参数

bash - 从 shell 脚本中的函数返回值

bash - 如何在 bash 中撤消 exec >/dev/null?

bash - 通过 bash curl 发送邮件

git - 如何从我的 Github 组织的 wiki 中访问消失的内容?

ruby - Chef 传递修订变量以部署资源

git - 即使我不修改任何内容,提交 sha1sum 也会发生变化

sh - 如何通过sudo用户执行shell脚本

bash - 使用 bash shell 脚本替换文件中的字符串

bash - Shell Bash : How to prompt a user to select from a dynamically populated list?