我有一个静态网站使用Jekyll托管在GitHub上。问题是,我真的不需要master分支,因为存储库包含的唯一内容就是网站。
这样我必须git checkout gh-pages
,然后git merge master
,然后执行git push origin gh-pages
。
有没有简单的方法,我可以摆脱gh-pages
分支并直接从master
推送?
答案 0 :(得分:14)
问题是,我真的不需要主分支,作为唯一 存储库包含的是网站。
有没有简单的方法,我可以摆脱gh-pages分支 并直接从主人推?
用你自己的话说,你不需要掌握。删除它。用gh-pages工作。
答案 1 :(得分: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分支。
答案 2 :(得分:0)
假设你确实想要保留两个分支(这样你也有文档)。
你可以在推送到掌握之后运行一个脚本:
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下的子目录,这样您就可以在同一位置同时轻松地拥有文档和最新的网站运行示例。