5

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

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

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

4

3 回答 3

14

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

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

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

于 2011-12-04T03:42:52.630 回答
0

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

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

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

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

于 2011-12-04T03:30:30.577 回答
0

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

您可以在推送到 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 下的子目录,使您能够在同一位置轻松拥有文档和站点的最新运行示例。

于 2013-01-12T20:21:47.660 回答