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

Mom*_*omo 7 git github github-pages

我目前有我的 github pages 存储库b.github.io,它是从a.github.io. 该a库采用主分支发布的网站的内容。

现在,我想a通过我的存储库为b. 因为我有分支机构管理诚信,我想在我的叉子拆我的工作到不同的分支:somebranchanother,等。

现在,如果我对这些分支中的任何一个进行更改,它们将不会反映到我的 Github 网站中(b.github.io显示 master 的内容,与 同步a.github.io)。在调用拉取请求之前,我需要查看这些更改以检查我的更改是否有效。

如何查看独立分支的变化?我尝试过类似的事情b.github.io/tree/somebranch,但没有取得多大成功。

luc*_*ash 0

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


如果 b 存储库的唯一目的是测试您的更改,只需停下来保持两个 master 分支同步,并将要拉取的更改放入 master 分支中,以便在 b.github.io 上查看它。

您可以将任何其他分支推送到 b 的 master 分支,然后在 b.github.io 上查看它,如下所示(假设 b 作为远程存储库添加到本地存储库):

git push b somebranch:master
Run Code Online (Sandbox Code Playgroud)

请注意,如果远程主控包含不在本地分支中的提交,则此操作将会失败。在这种情况下,您可以使用该选项强制推送-f。但是,执行此操作时要非常小心,并确保远程不包含任何这样做会丢失的提交。为此,您可以同时执行以下操作:

首先确保从 b 远程获取所有更改并显示 master 分支的最后一次提交:

git fetch b
git show b/master
Run Code Online (Sandbox Code Playgroud)

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

git branch -a --contains {hash}
Run Code Online (Sandbox Code Playgroud)

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


如果您不能弄乱存储库 b 的 master 分支,另一种选择可能是创建一个单独的存储库来查看您的更改并创建一个项目站点,如下所述: https : //pages.github.com/如果您总是需要将更改推送到分支 gh-pages。为此,请按照上面针对 master 分支的描述进行操作。


我不知道为什么你需要通过 github 页面观看你的网站。如果您的站点只是静态的,您可以使用本地计算机上运行的网络服务器(例如 nginx 或 Apache)对其进行测试。如果您使用 Jekyll,github提供了如何自行运行 Jekyll 的文档。