在具有gh-pages分支的repo的fork中,Github页面是否会自动创建?

41

当我 fork 一个已经包含 gh-pages 分支的 repo 时,我的账户中是否会自动创建 Github Pages?


为什么不试一下呢?我相信页面应该会自动生成,因为你的 fork 也有一个 gh-pages 分支,但在确认之前,你需要等待 10 分钟,因为页面的创建存在一些延迟。 - Mark Longair
我昨天已经尝试过了,但是当我访问网站时,它显示的是指令页面,尽管 gh-pages 分支存在并且在原始存储库中可以正常工作。 - yojimbo87
7个回答

49

至少需要进行一次推送来触发页面构建,因此通过执行git push origin master,我使页面重新构建。


1
在我的情况下,我必须切换到 gh-pages 分支。 - David Riccitelli
这在我的存储库的gh-pages分支的fork中没有触发GitHub Pages网站的构建。 - Kenny Evitt

23

一种优雅的方法:

git push -f origin gh-pages^:gh-pages
git push origin gh-pages:gh-pages
git push origin master 可能不太好,因为 master 上可能已经有了一些东西。上面的命令应该总是有效的,因为它只是简单地把远程分支来回移动。
摘自:Pushing without committing,其解决方案也适用于这个问题。

我在最后一个命令之后得到了这个错误:error: src refspec gh-pages does not match any. 但是在我看来,第一个命令已经足够了。 - asmaier
@asmaier,你本地有gh-pages分支吗?USERNAME.github.io仓库是神奇的,会在master上生成GH Pages。 - Ciro Santilli OurBigBook.com
我刚刚意识到它已经起作用了。因此,似乎第一个命令 git push -f origin HEAD^:gh-pages 已经足够了。 - asmaier
@asmaier 注意,第一个命令本身有效地撤销了在 gh-pages 分支上的最后一次提交(针对 Github 上存储库的副本)。 - Kenny Evitt

5
在 Github 上 fork 一个仓库本身是不足以触发 Github Pages 的创建的。
以下两种方式之一都可以达到目的:
  1. Edit and save any page using the Github interface. For example, modify the README.md file, even just adding a space.
  2. Make any kind of git push to the gh-pages branch. As others have suggested, a trivial non-change you can make is:

    git push -f origin origin/gh-pages^:gh-pages
    git push origin origin/gh-pages:gh-pages
    
这将强制推送倒数第二次提交作为gh-pages的HEAD,然后修复它。

4
在你 fork 一个 Github 页面仓库之后,你可以在 Github 页面上更改任何文件并提交,你的网站将会出现而无需使用 Git。

离他所问的差得远! - igauravsehrawat
5
我认为海报的意思是,最快加载页面的方法是在GitHub内置编辑器中使用分叉仓库中的任何文件。一旦你在那里保存/提交更改,gh-pages的页面构建就会被触发。因此,你甚至不需要将仓库克隆到本地(“不使用git”)就可以实现这一点。只需注意,似乎有必要在“gh-pages”分支上进行特定的编辑才能使其正常工作。 - XML

1
重命名派生仓库也可以起作用。

0
不,当你 fork 一个仓库后,你必须再次发布它。为此,请在本地克隆上运行以下命令:
git push -f origin origin/gh-pages^:gh-pages
git push origin origin/gh-pages:gh-pages

这会触发发布者钩子两次,但您不必提交任何内容。


0
你需要从你的分支仓库目录重新发布它 运行: git push origin main

这是一个重复的答案。 - Nol4635

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