我有一个使用 GitHub 上托管的 Jekyll 的静态网站。问题是,我真的不需要 master 分支,因为存储库包含的唯一内容就是网站。
这样我就必须git checkout gh-pages
,然后git merge master
,再做git push origin gh-pages
。
有什么简单的方法,我可以摆脱gh-pages
分支并直接从中推送master
?
问题是,我真的不需要 master 分支,因为存储库包含的唯一内容就是网站。
有什么简单的方法,我可以摆脱 gh-pages 分支并直接从 master 推送?
用你自己的话来说,你不需要师父。删除它。在 gh-pages 中工作。
我自己使用 Jekyll,我总是在 master 分支上进行更改并将其推送到原点......
没有人强迫您创建分支...如果您所做的更改级别不需要多个分支,那么只需在主分支上进行更改并执行 git push origin。
您陈述问题的方式听起来有点像 master 分支是一个特殊的 git 分支,这是不正确的。归根结底,master 或 gh-pages 的不同之处仅在于它们指向的提交和与之关联的 refspec 规则,但它们基本具有相同的语义。
删除你的 gh-pages 分支:git branch -d gh-pages。如果 gh-pages 尚未合并,则在删除 gh-pages 之前合并到 master 上。然后继续并仅使用 master 分支。
假设您确实想保留两个分支(以便您也有文档)。
您可以在推送到 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 下的子目录,使您能够在同一位置轻松拥有文档和站点的最新运行示例。