【问题标题】:How can I make GitHub pages use the master branch?如何让 GitHub 页面使用 master 分支?
【发布时间】:2012-01-12 11:09:30
【问题描述】:

我有一个使用 GitHub 上托管的 Jekyll 的静态网站。问题是,我真的不需要 master 分支,因为存储库包含的唯一内容就是网站。

这样我必须git checkout gh-pages,然后是git merge master,然后是git push origin gh-pages

有什么简单的方法可以去掉gh-pages 分支,直接从master推送?

【问题讨论】:

  • 有什么理由不只在gh-pages 分支上工作?

标签: ruby git github jekyll


【解决方案1】:

我自己使用 Jekyll,我总是在 master 分支上进行更改并将其推送到原点...

没有人强迫您创建分支...如果您所做的更改级别不需要多个分支,那么只需在主分支上进行更改并执行 git push origin。

您陈述问题的方式听起来有点像 master 分支是一个特殊的 git 分支,这是不正确的。归根结底,master 或 gh-pages 的区别仅在于它们指向的提交和与之关联的 refspec 规则,但它们基本具有相同的语义。

删除你的 gh-pages 分支:git branch -d gh-pages。如果 gh-pages 尚未合并,则在删除 gh-pages 之前合并到 master。然后继续,只使用 master 分支。

【讨论】:

  • 您缺少的是 GitHub 使用 gh-pages 分支为托管在 GitHub 上的 git 存储库生成/提供静态网站。
【解决方案2】:

问题是,我真的不需要 master 分支,因为它是唯一的 存储库包含的是网站。

有什么简单的方法可以摆脱 gh-pages 分支 直接从master推送?

用你自己的话来说,你不需要主人。删除它。在 gh-pages 中工作。

【讨论】:

    【解决方案3】:

    假设您确实想保留两个分支(以便您也有文档)。

    你可以在推送到 master 之后运行一个脚本:

    git checkout gh-pages
    wget https://github.com/{yourgitlogin}/{your-project}-master/archive/master.zip
    git rm {your-project}-master
    unzip master.zip && rm master.zip
    git add -u
    git add .
    git commit -m "update master"
    git push
    git checkout master
    

    这样的做法会将您的整个网站添加为 gh-pages 下的子目录,这样您就可以毫不费力地在同一位置拥有文档和网站的最新运行示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-16
      • 2017-07-15
      • 1970-01-01
      • 2013-09-01
      • 2017-01-30
      • 1970-01-01
      • 2016-02-10
      • 2015-06-27
      相关资源
      最近更新 更多