在特定分支上查看github页面的更改

11

我目前拥有我的github pages仓库,b.github.io,它是从a.github.io复刻而来的。 a仓库使用主分支来发布网站内容。

现在,我想通过我的仓库ba做出贡献。因为我对分支管理有信心,所以我希望将我的fork上的工作分成不同的分支:somebranchanother等。

现在,如果我更改任一这些分支之一,在Github网站上不会反映出这些更改(b.github.io显示与a.github.io同步的主分支内容)。 我需要查看这些更改以检查我的更改是否可行,然后才能发起拉取请求。

我如何查看这些分支的更改? 我尝试过诸如b.github.io/tree/somebranch之类的东西,但并没有太大的成功。


你想看看两个不同分支之间的区别吗? - Ouroborus
这是可能的:请参见我的下面的答案 - VonC
3个回答

2
Github Pages使用Jekyll来渲染页面。
因此,您可以:
  • 本地安装Jekyll
  • 在任何分支上进行预览,
  • 在您对更改满意时将其合并到主分支,
  • 将更改推送到b.github.io
  • 向a.github.io创建Pull Request。

2
“在提交拉取请求之前,我需要看到这些更改并检查我的更改是否有效。”
“现在(2020年7月,四年后),您应该能够从任何想要的分支上查看您在第二个存储库中的更改(在执行拉取请求之前)。这仍处于测试阶段,但是:”
构建和部署GitHub页面(beta版)
“使用GitHub页面的存储库现在可以从任何分支构建和部署。将发布到特殊的gh-pages分支仍然与以往一样工作,但是您现在可以选择存储库中的其他分支作为发布源。”
“此功能还删除了用户和组织页面必须具有master分支的硬编码依赖关系。”
“2020年9月:这已经不再是测试版!”

它在任何地方都有说明如何吗? - detly
@detly 只需在发布源中选择您想要的分支:https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source,第4点。 - VonC
啊,我还得重写工作流以将文档发布到另一个分支。 - detly
@VonC 我该如何在本地操作?假设我正在本地使用Jekyll在localhost上查看我的页面,并且我希望查看特定分支的构建。 - amzon-ex
@amzon-ex 你需要切换到正确的分支,然后开始构建本地站点。只有构建完成后的结果才能推送到gh_pages - VonC

0
首先,我认为没有办法在Github页面上只查看另一个分支。但是,如果另一个分支是您的主分支,则可能有选项可以查看该站点。

如果 b 存储库的唯一目的是测试您的更改,请停止保持两个主分支同步,并将要拉取的更改放入主分支以在 b.github.io 上查看。

您可以将任何其他分支推送到 b 的主分支,然后像这样在 b.github.io 上查看它(假设 b 已添加为本地存储库的远程):

git push b somebranch:master

请注意,如果远程主分支包含本地分支中不存在的提交,则此操作将失败。在这种情况下,您可以使用-f选项强制推送。但是,这样做要非常小心,并确保远程不包含任何将因此丢失的提交。为此,您可以执行以下操作:
首先,请确保从b远程获取所有更改并显示主分支的最后一个提交:
git fetch b
git show b/master

从该提交中挑选提交哈希值,然后检查它是否包含在其他任何分支中:

git branch -a --contains {hash}

这将显示包含该提交的所有分支(远程或本地)。只要您只推送不同的本地分支到 b/master,这将始终显示您上次推送的本地分支。


如果你不能对仓库 b 的主分支进行更改,一个替代方案可能是为查看你的更改创建一个单独的仓库,并按照这里描述的方式创建一个项目网站:https://pages.github.com/ 然而,在这种情况下,你总是需要将你的更改推送到 gh-pages 分支。要做到这一点,请按照上面描述的方式操作主分支。


我不确定为什么你需要通过Github Pages观看你的网站。如果你的网站只是静态的,你可以使用在本地机器上运行的Web服务器(如nginx或Apache)进行测试。如果你正在使用Jekyll,Github 提供了文档,告诉你如何自己运行它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接