如何使用 Github Pages 分支正确提交到存储库中

2024-05-08

我有一个问题

情况基于gh-pages https://pages.github.com/

我的项目使用预处理器和其他困难的人员,因此,我的项目结构如下所示:

主分支

./-|
   /src
   /node_modules
   /public-|
       /js
       /css
       /etc
       index.html           
   /etc
   package.json 
   etc

所有代码源在src文件夹,编译到public folder.
public文件夹也在 .gitignore 中
我想将公共文件夹中的所有文件提交到 gh-pages 分支中。是否可以?如果是,该怎么做?这是我的一个结构gh-pages branch

gh-pages 分支

 ./-|
    /js
    /css
    /assets
    index.html    

我认为运行 grunt/gulp 任务并将结果提交到另一个分支会很棒。


我有两个脚本可以做到这一点。在我的情况下,文档来源位于.(当然,相对于脚本运行的位置),生成的文档位于_build/html,然后我发出命令

touch _build/html/.nojekyll    # disable GitHub's Jekyll page generator
./commit-to-gh-pages.sh _build/html

where commit-to-gh-pages.sh is

#! /bin/sh

# Commit the generated HTML pages to the branch gh-pages.
# Will not push them to GitHub.

set -e -v

treehash=$(./hash-tree.py "${1:-_build/html}")
parent=$(git rev-parse gh-pages)

msg="Regenerated docs for $(git rev-parse HEAD)"
commithash=$(echo "$msg" | git commit-tree $treehash -p $parent)
echo "Updating gh-pages to $commithash"
git update-ref refs/heads/gh-pages "$commithash"

这会写入目录_build/html到 Git 索引,创建一个以该目录树为其内容的提交对象,并将该提交对象写入gh-pages将该分支的先前状态作为父分支。

棘手的部分是hash-tree.py脚本,它扩展了git hash-object命令到目录树。我不会复制粘贴,但你可以得到它here https://github.com/NLeSC/xtas/blob/master/doc/hash-tree.py。 (如果有人知道更优雅的方法,请告诉我。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Github Pages 分支正确提交到存储库中 的相关文章

  • 使用 Git 部署时压缩 JS/CSS 文件

    我对 git 有点陌生 另外 这是我第一个自动化部署过程的项目 到目前为止 能够做到这一点真是太幸福了git push dev并上传文件 复制配置文件等 现在 当我推送到我的开发服务器时 我想缩小 JS CSS 文件 我正在考虑在服务器上安
  • 无法从 Git 扩展向 GitHub 进行身份验证?

    我只是在 Visual Studio 2010 中设置 Git 扩展 但无法真正使其工作 我无法进行身份验证 在 Git Extensions 中 如果我选择 Plugins gt GitHub 我可以添加用户 密码 API 令牌并选择 S
  • Git 会删除空文件夹吗? [复制]

    这个问题在这里已经有答案了 我已提交一个项目并将其推送到我的 GitHub 帐户 该项目包含以下部分文件结构 server conf some files java lib java 和 lib 文件夹为空 从 GitHub 下载我的项目时
  • Git Push 远程:致命:包超出允许的最大大小

    我接到了一个大项目 客户想将其添加到github 我是一点一点添加的 然后发生的事情是我太贪心了 一次添加了太多文件 现在 无论我尝试什么 我都会不断收到此错误 我怎样才能解决这个问题 我试图回滚 但也许我做错了 git push Ente
  • 我可以将我的heroku git repo导入bitbucket吗?如何?

    我的笔记本电脑坏了 我需要从另一台计算机上编码 我正在使用 Heroku 我想将最新版本的代码从 Heroku 获取到另一台机器 据我了解 强烈建议使用 GitHub 或 BitBucket 获取适当的远程存储库 我决定尝试一下 BitBu
  • Django 和 VirtualEnv 开发/部署最佳实践

    只是好奇人们如何结合 virtualenv 部署 Django 项目 更具体地说 如何使生产虚拟环境与开发计算机正确同步 我使用 git 进行 scm 但 git 存储库中没有 virtualenv 我应该这样做 还是最好使用 pip fr
  • “git merge --squash”的正确用例是什么?

    有些人喜欢git merge squash由于以下原因 压缩到单个提交使您有机会清理混乱的 WIP 提交 并为您要合并的更改提供良好的理由 https coderwall com p qkrmjq git merge squash http
  • 返回到 Github Desktop 中的上一个提交

    我正在尝试使用 GitHub Desktop 即 GUI 应用程序 而不是命令行 返回到先前的提交 在同一分支上 我认为这是一个核心功能 因为它是首先使用源代码控制的主要原因 我可以看到可以恢复提交 但这并不是我真正想要的 因为它创建了一个
  • 如何从 github 安装需要构建步骤的 npm 包,例如什么时候分叉一个库?

    假设您使用类似的库vue3 datepicker https www npmjs com package vue3 datepicker 您意识到您需要自定义某些内容 并且作为第一步 您想要使用它的自定义分支 问题是 当包被推送到 npm
  • 如何在 github 复合操作步骤中动态设置环境变量?

    我确实需要它作为一个环境变量 这是为了复合动作具体来说 在复合操作中 我尝试了许多不同的设置环境变量的方法 我发现做到这一点的唯一方法是使用env在步骤本身内 runs using composite steps name A step e
  • 如何列出未推送的 Git 提交(本地但不在源上)

    如何查看我所做的 尚未推送到远程存储库的任何本地提交 偶尔 git status将打印出我的分支是X提交之前origin master 但不总是 这是我安装的 Git 的错误 还是我遗漏了什么 这给出了 origin master 和 HE
  • GitHub - 指定时间的存储库状态

    我是使用 git 版本控制工具的初学者 我想在指定时间 例如 2013 年 10 月 5 日 下载存储库状态 文件 我怎样才能做到这一点 截至 2019 年 5 月 不确定何时引入 您可以简单地按以下格式添加日期 HEAD 2019 04
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont
  • gitattributes 中的`* text=auto eol=lf` 会做什么?

    我们的 gitattributes 文件中有这样的内容 text auto eol lf 我想准确理解这是做什么的 第一部分是text auto 来自文档 http git scm com docs gitattributes 这确保了所有
  • 如何在 git 交互式 rebase 中将提交与下一个提交合并?

    git rebase i允许通过以下方式将提交与前一个提交合并squash or fixup 这两个选项都需要至少一次提交pick ed 当一个人想要使用第一个提交但丢弃其提交消息时 情况怎么样 换句话说 如果我希望第一个提交与后续提交合并
  • Git 分支之间未跟踪的文件

    我一直在这里寻找答案 看来我可能只是对 git 分支应该如何工作做出了错误的假设 我有我的master分支 我创建了一个名为的功能分支profiles我正在对个人资料进行一些特定的工作 在处理配置文件时 我更改了 5 或 6 个文件 并添加
  • 为什么我的存储库的 github 页面中没有出现问题选项卡?

    我想在 github 存储库中创建问题来纠正存储库中的技术债务 我看不到问题选项卡 对于其他存储库 问题选项卡显示在拉取请求选项卡下方 如何为我的存储库启用问题选项卡 您必须先启用问题 您可以通过点击来做到这一点Settings并启用 问题
  • git checkout HEAD -- 和有什么区别?和 git reset --hard HEAD?

    我已经查看了这个 stackoverflow 链接 但我认为我所要求的之间的细微差别是使用HEAD在结账命令中 因为他们的建议似乎不起作用 git reset hard HEAD 和 git checkout 之间有区别吗 https st
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 设置单独的遥控器以仅推送和拉动子文件夹

    假设我有两个存储库 repo A and repo B 其中包含一个文件夹 其中的代码与存储库 A 中的代码类似 这实际上如何发生并不重要 但是好吧 让我们假设我刚刚从 A 复制了内容 现在我想要以下内容 就像我在 repo A 中习惯的那

随机推荐

  • 如何阻止访问任何文件或exe vb.net?

    如何阻止和取消阻止文件或可执行文件在 vb net 运行时永久打开 您可以使用此代码 并且可以使用Environment UserName获取用户名 这将锁定任何类型的文件 也将锁定文件夹 Dim FSS As FileSystemSecu
  • 没有提示为 Cordova Windows 应用程序签署证书

    我正在尝试使用命令行工具创建和安装 Cordova Windows 应用程序 跑步时cordova run windows device shell 显示此文本 Before installing this app you need to
  • Angular 7 将文件内容发布为 multipart/form-data

    我在字符串变量中提供了要发布的内容 我想使用 import HttpClient from angular common http 为了达到与以下相同的效果 curl F email protected cdn cgi l email pr
  • CSS 居中变换

    为什么使用变换居中可以完美地平移并左 50 居中 相对于父级的位置 但右 50 却不能 工作示例 span class icon position absolute top 50 left 50 transform translate 50
  • 如何在 jQuery/javascript 中获取边框宽度

    如何解析边框宽度 style border solid 1px black 在 jQuery javascript 中 elem css border width 不这样做 注意我需要解析 css 的宽度 因为元素可能是display no
  • 无法渲染非字符串的属性,toString 返回:null SPRING MVC 中的错误

    我正在尝试按照本教程为我的 spring mvc 项目创建一个通用错误处理程序 http www mkyong com spring mvc spring mvc exceptionhandler example http www mkyo
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 安装文件失败调试已启用

    我之前使用过安装项目 没有任何问题 该项目没有 SQLite DB 作为依赖项我现在正在尝试为一个包含 SQLite 作为 System Data SQLite Core 的项目制作一个 EXE 或 msi 文件 该项目是一个带有 WPF
  • 在 C/C++ 中读取和写入二进制文件的中间部分

    如果我有一个大的二进制文件 假设它有 100 000 000 个浮点数 C 或 C 有没有办法打开文件并读取特定的浮点数 而不必将整个文件加载到内存中 即我如何快速找出第 62 821 214 个浮点是什么 第二个问题 有没有办法更改文件中
  • 规则和夏令时

    我在用着rrule https github com jakubroztocil rrule在我的数据库中创建和存储事件 一切正常 直到我发现我的重复事件与 3 月 31 日之后有一个小时的差异 在法国 这一天我们进行夏令时更改 实际上 我
  • C# 中的密码恢复工具不起作用

    嗨 我对此还很陌生 我创建了一个门户 用户可以登录并在其中查看我制作的其他程序 问题是密码恢复似乎不起作用 我没有收到任何错误消息 我只是收到消息 我们无法访问您的信息 请重试 我已经正确设置了 ASP NET 配置 并使用不同的用户和权限
  • PHP 5 的 HTML 表单库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个QuickForm替代品 QF 存在性能问题 例如组合框中的许多选项 我还想要一些更面向对象的东西 比如 Zend Form
  • Spark 执行器 STDOUT 到 Kubernetes STDOUT

    我在 Spark Worker 中运行的 Spark 应用程序将执行程序日志输出到特定文件路径 worker home directory app xxxxxxxx 0 stdout I used log4j properties将日志从
  • Accurev 性能如何?

    当前版本 4 7 的性能如何Accurev http www accurev com 每 100mb 每 GB 的结账时间 每 个文件或 mb 的提交时间 当 100 流时 gui 的响应能力 我刚刚进行了 Accurev 的演示 这些流看
  • 何时在定义上下文或实例化点中发生非依赖名称的重载解析?

    3 4 基本 lookup p1 重载解析 13 3 在名称查找成功后发生 void g long void g int int template
  • Angular Material 中的 img 标签内的 md-tooltip

    我想在悬停在 3 个不同图像上时显示 3 个不同的工具提示
  • Dockerfile 从 amazon s3 或其他需要凭据的源复制文件

    我正在尝试构建 Docker 映像 并且需要将一些文件从 S3 复制到该映像 我正在使用的 Dockerfile 内部 Dockerfile FROM library ubuntu 16 04 ENV LANG C UTF 8 LC ALL
  • 从 BitBucket 请求 OAuth 令牌

    在过去的 4 个小时里 我一直在尝试将 BitBucket 集成到我的应用程序中 但没有成功 在阅读的过程中BitBucket 的 RESTful API 文档 https confluence atlassian com display
  • 使用 gin 索引和 sqlalchemy 返回排名搜索结果

    我为全文搜索设置了 GIN 索引 我想获取与搜索查询匹配的记录列表 按排名排序 记录与搜索查询的匹配程度 对于结果 我只需要记录及其列 不需要用于排序的实际排名值 我有以下查询 它运行良好并从我的 postgresql 数据库返回预期结果
  • 如何使用 Github Pages 分支正确提交到存储库中

    我有一个问题 情况基于gh pages https pages github com 我的项目使用预处理器和其他困难的人员 因此 我的项目结构如下所示 主分支 src node modules public js css etc index