我该如何发布到<me>.github.com?

8
我已阅读指南,其中告诉你执行以下操作:
  1. 创建一个 .github.com 存储库
  2. 将其检出到 path/to/repo
  3. cd /path/to/repo
  4. git symbolic-ref HEAD refs/heads/gh-pages
  5. rm .git/index
  6. git clean -fdx
  7. echo "My GitHub Page" > index.html
  8. git add .
  9. git commit -a -m "First pages commit"
  10. git push origin gh-pages
我已经完成了这些步骤。页面显示出来了。然后我移动到另一台计算机,重新检出存储库。现在我有一个“master”分支在本地,但没有“gh-pages”。按照上述步骤3-6进行操作会使该分支中没有任何文件。如何将“master”中的文件放入将发布到GitHub的分支中? 我尝试过 git checkout master && git push origin gh-pages,但是结果是:
error: src refspec gh-pages does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push to 'git@github.com:<me>/<me>.github.com.git'
3个回答

5
显然,随后对“origin master”进行的推送实际上就可以解决问题!尽管这在指南中没有记录。

2
原因是@gh-pages分支仅适用于现有项目。如果您的项目名为<me>.github.com(即,您可以在http://github.com/<me>/<me>.github.com/tree/master找到它),那么主分支就可以工作了! - James A. Rosen
通过谷歌找到了这个问题。这对我很有帮助,谢谢。我使用了“生成项目页面”链接,并在我的存储库中创建了index.html文件,但直到我进行了次要编辑并进行了推送后,它才被发布。 - Dan Dyer

4
正如Gaius所说,您正在遵循“项目页面”的指示,但您并不是要创建一个项目页面,而是要创建一个用户页面。创建用户页面要容易得多-您只需创建一个' .github.com '仓库,然后将网站文件推送到其主分支中,就像任何其他普通项目一样。
您尝试遵循的说明是为已经存在的项目添加包含网站文件的平行分支。我们不希望让您给项目添加“网站”子目录或类似内容,因此我们要求您创建一个完全不相关的分支,并将您的网站推送到该分支-这就是Git技巧的用法。

3

要在一个新的远程仓库分支上工作,您首先需要在本地创建该分支。以下是“gh-pages”分支的示例:

git checkout --track -b gh-pages origin/gh-pages

更多详情请参考这篇文章《将项目网站迁移到Github Pages》


我认为远程或本地不存在名为gh-pages的分支。“git checkout: updating paths is incompatible with switching branches/forcing. Did you intend to checkout 'origin/gh-pages' which can not be resolved as commit?”我收到这样的消息。 - James A. Rosen
1
奇怪的是,在一个新的 GitHub 仓库中,从创建之初就存在 gh-pages 分支。因为 git clone 只会带来远程分支,所以需要使用 checkout --track 命令来创建本地分支。 - VonC

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