Как я могу заставить страницы GitHub использовать основную ветку? - PullRequest
5 голосов
/ 04 декабря 2011

У меня есть статический сайт, использующий Jekyll, размещенный на GitHub.Проблема в том, что мне не нужна основная ветка, так как единственное, что содержит репозиторий - это веб-сайт.

Таким образом, мне нужно git checkout gh-pages, затем git merge master, а затем git push origin gh-pages.

Есть ли какой-нибудь простой способ, где я мог бы избавиться от ветви gh-pages и нажать прямо из master?

Ответы [ 3 ]

14 голосов
/ 04 декабря 2011

Проблема в том, что мне не нужна главная ветка, так как В хранилище находится веб-сайт.

Есть ли какой-нибудь простой способ, где я мог бы избавиться от ветки gh-pages и нажать прямо от мастера?

По твоим словам, тебе не нужен мастер. Удали это. Работа в гх-страницах.

0 голосов
/ 13 января 2013

Предположим, вы хотели сохранить обе ветви (чтобы у вас также была документация).

Вы можете просто запустить скрипт после нажатия на 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, что позволит вам иметь как документацию, так и обновленный пример запуска вашего сайта в одном месте и без особых усилий.

0 голосов
/ 04 декабря 2011

Я сам использую Jekyll и всегда внослю изменения в основную ветвь и отправляю ее в исходное состояние ...

Никто не заставляет вас создавать ветки ... Если уровень изменений, которые вы вносите, не требует многократного измененияЗатем ветки просто вносят свои изменения в основную ветку и делают git push origin.

То, как вы излагаете свою проблему, звучит так, будто основная ветвь - это специальная ветка git, которая не соответствует действительности.В конце дня мастер-страницы или gh-страницы отличаются только фиксацией, на которую они указывают, и связанными с ними правилами refspec, но они фундаментально несут ту же семантику.

Удалите ветку gh-pages, выполнив: git branch-D GH-страниц.Если gh-страницы еще не объединены, то перед удалением gh-страниц объединяются с мастером.Тогда просто продолжайте и используйте только основную ветку.

...