我目前有我的github页面存储库b.github.io
,它是从a.github.io
分叉的。 a
存储库使用主分支来发布网站的内容。
现在,我想通过我的存储库a
为b
做出贡献。因为我对分支管理有诚意,所以我希望将我的工作分成不同的分支:somebranch
,another
等。
现在,如果我对这些分支中的任何一个进行了更改,它们就不会反映到我的Github网站上(b.github.io
显示master的内容,它与a.github.io
同步)。在调用Pull请求之前,我需要查看这些更改以检查我的更改是否成功。
如何查看单独分支的变化?我尝试了b.github.io/tree/somebranch
这样的事情,但没有取得多大成功。
答案 0 :(得分: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页面。为此,请按照上述主分支进行操作。
我不确定您为什么需要通过github页面观看您的网站。如果您的站点只是静态的,您可以使用在本地计算机上运行的Web服务器(例如nginx或Apache)对其进行测试。如果您正在使用Jekyll,github provides a documentation如何自己运行它。
答案 1 :(得分:0)
在调用Pull请求之前,我需要查看这些更改以检查更改是否可以解决。
现在(4年后的2020年7月),您可以从任何分支机构查看第二个仓库(在执行PR之前)的更改。
它仍处于测试阶段,但是:
Build and deploy GitHub Pages from any branch (beta)
使用GitHub Pages的存储库现在可以从任何分支机构构建和部署。
发布到特殊的
gh-pages
分支仍然可以像以前一样工作,但是现在您可以在存储库中选择另一个分支作为发布源。此功能还消除了对具有
master
分支的用户和组织页面的硬编码依赖性。
9月。 2020年:this is out of beta!